基于MySQL到MongoDB簡易對照表的詳解_PHP教程

      編輯Tag賺U幣
      教程Tag:MySQLmongodb添加

      推薦:php實現自動獲取生成文章主題關鍵詞功能的深入分析
      本篇文章是對php實現自動獲取生成文章主題關鍵詞功能進行了詳細的分析介紹,需要的朋友參考下

      查詢:
      MySQL:
      SELECT * FROM user
      Mongo:
      db.user.find()
      MySQL:
      SELECT * FROM user WHERE name = 'starlee'
      Mongo:
      db.user.find({‘name' : 'starlee'})
      插入:
      MySQL:
      INSERT INOT user (`name`, `age`) values ('starlee',25)
      Mongo:
      db.user.insert({‘name' : 'starlee', ‘age' : 25})
      如果你想在MySQL里添加一個字段,你必須:
      ALTER TABLE user….
      但在MongoDB里你只需要:
      db.user.insert({‘name' : 'starlee', ‘age' : 25, ‘email' : 'starlee@starlee.com'})
      刪除:
      MySQL:
      DELETE * FROM user
      Mongo:
      db.user.remove({})
      MySQL:
      DELETE FROM user WHERE age < 30
      Mongo:
      db.user.remove({‘age' : {$lt : 30}})
      $gt : > ; $gte : >= ; $lt : < ; $lte : <= ; $ne : !=
      更新:
      MySQL:
      UPDATE user SET `age` = 36 WHERE `name` = 'starlee'
      Mongo:
      db.user.update({‘name' : 'starlee'}, {$set : {‘age' : 36}})
      MySQL:
      UPDATE user SET `age` = `age` + 3 WHERE `name` = 'starlee'
      Mongo:
      db.user.update({‘name' : 'starlee'}, {$inc : {‘age' : 3}})
      MySQL:
      SELECT COUNT(*) FROM user WHERE `name` = 'starlee'
      Mongo:
      db.user.find({‘name' : 'starlee'}).count()
      MySQL:
      SELECT * FROM user limit 10,20
      Mongo:
      db.user.find().skip(10).limit(20)
      MySQL:
      SELECT * FROM user WHERE `age` IN (25, 35,45)
      Mongo:
      db.user.find({‘age' : {$in : [25, 35, 45]}})
      MySQL:
      SELECT * FROM user ORDER BY age DESC
      Mongo:
      db.user.find().sort({‘age' : -1})
      MySQL:
      SELECT DISTINCT(name) FROM user WHERE age > 20
      Mongo:
      db.user.distinct(‘name', {‘age': {$lt : 20}})
      MySQL:
      SELECT name, sum(marks) FROM user GROUP BY name
      Mongo:
      db.user.group({
      key : {‘name' : true},
      cond: {‘name' : ‘foo'},
      reduce: function(obj,prev) { prev.msum += obj.marks; },
      initial: {msum : 0}
      });
      MySQL:
      SELECT name FROM user WHERE age < 20
      Mongo:
      db.user.find(‘this.age < 20′, {name : 1})
      發現很多人在搜MongoDB循環插入數據,下面把MongoDB循環插入數據的方法添加在下面:
      for(var i=0;i<100;i++)db.test.insert({uid:i,uname:'nosqlfan'+i});
      上面一次性插入一百條數據,大概結構如下:
      { “_id” : ObjectId(“4c876e519e86023a30dde6b8″), “uid” : 55, “uname” : “nosqlfan55″ }
      { “_id” : ObjectId(“4c876e519e86023a30dde6b9″), “uid” : 56, “uname” : “nosqlfan56″ }
      { “_id” : ObjectId(“4c876e519e86023a30dde6ba”), “uid” : 57, “uname” : “nosqlfan57″ }
      { “_id” : ObjectId(“4c876e519e86023a30dde6bb”), “uid” : 58, “uname” : “nosqlfan58″ }
      { “_id” : ObjectId(“4c876e519e86023a30dde6bc”), “uid” : 59, “uname” : “nosqlfan59″ }
      { “_id” : ObjectId(“4c876e519e86023a30dde6bd”), “uid” : 60, “uname” : “nosqlfan60″ }
      簡易對照表
      SQL Statement Mongo Query Language Statement
      CREATE TABLE USERS (a Number, b Number) implicit; can be done explicitly
      INSERT INTO USERS VALUES(1,1) db.users.insert({a:1,b:1})
      SELECT a,b FROM users db.users.find({}, {a:1,b:1})
      SELECT * FROM users db.users.find()
      SELECT * FROM users WHERE age=33 db.users.find({age:33})
      SELECT a,b FROM users WHERE age=33 db.users.find({age:33}, {a:1,b:1})
      SELECT * FROM users WHERE age=33 ORDER BY name db.users.find({age:33}).sort({name:1})
      SELECT * FROM users WHERE age>33 db.users.find({'age':{$gt:33}})})
      SELECT * FROM users WHERE age<33 db.users.find({'age':{$lt:33}})})
      SELECT * FROM users WHERE name LIKE "%Joe%" db.users.find({name:/Joe

      分享:深入PHP異步執行的詳解
      本篇文章是對PHP的異步執行進行了詳細的分析介紹,需要的朋友參考下

      來源:模板無憂//所屬分類:PHP教程/更新時間:2013-06-04
      相關PHP教程