1. 查询:   
  2. MySQL:   
  3. SELECT * FROM user   
  4. Mongo:   
  5. db.user.find()   
  6.  
  7. MySQL:   
  8. SELECT * FROM user WHERE name = ’starlee’   
  9. Mongo:   
  10. db.user.find({‘name’ : ’starlee’})   
  11.  
  12. 插入:   
  13. MySQL:   
  14. INSERT INOT user (`name`, `age`) values (’starlee’,25)   
  15. Mongo:   
  16. db.user.insert({‘name’ : ’starlee’, ‘age’ : 25})   
  17.  
  18. 如果你想在MySQL里添加一个字段,你必须:   
  19. ALTER TABLE user….   
  20. 但在MongoDB里你只需要:   
  21. db.user.insert({‘name’ : ’starlee’, ‘age’ : 25, ‘email’ : ’starlee@starlee.com’})   
  22.  
  23. 删除:   
  24. MySQL:   
  25. DELETE * FROM user   
  26. Mongo:   
  27. db.user.remove({})   
  28.  
  29. MySQL:   
  30. DELETE FROM user WHERE age < 30   
  31. Mongo:   
  32. db.user.remove({‘age’ : {$lt : 30}})   
  33.  
  34. $gt : > ; $gte : >= ; $lt : < ; $lte : <= ; $ne : !=   
  35.  
  36. 更新:   
  37.  
  38. MySQL:   
  39. UPDATE user SET `age` = 36 WHERE `name` = ’starlee’   
  40. Mongo:   
  41. db.user.update({‘name’ : ’starlee’}, {$set : {‘age’ : 36}})   
  42.  
  43. MySQL:   
  44. UPDATE user SET `age` = `age` + 3 WHERE `name` = ’starlee’   
  45. Mongo:   
  46. db.user.update({‘name’ : ’starlee’}, {$inc : {‘age’ : 3}})   
  47.  
  48. MySQL:   
  49. SELECT COUNT(*) FROM user WHERE `name` = ’starlee’   
  50. Mongo:   
  51. db.user.find({‘name’ : ’starlee’}).count()   
  52.  
  53. MySQL:   
  54. SELECT * FROM user limit 10,20   
  55. Mongo:   
  56. db.user.find().skip(10).limit(20)   
  57.  
  58. MySQL:   
  59. SELECT * FROM user WHERE `age` IN (25, 35,45)   
  60. Mongo:   
  61. db.user.find({‘age’ : {$in : [25, 35, 45]}})   
  62.  
  63. MySQL:   
  64. SELECT * FROM user ORDER BY age DESC   
  65. Mongo:   
  66. db.user.find().sort({‘age’ : -1})   
  67.  
  68. MySQL:   
  69. SELECT DISTINCT(nameFROM user WHERE age > 20   
  70. Mongo:   
  71. db.user.distinct(‘name’, {‘age’: {$lt : 20}})   
  72.  
  73. MySQL:   
  74. SELECT namesum(marks) FROM user GROUP BY name   
  75. Mongo:   
  76. db.user.group({   
  77. key : {‘name’ : true},   
  78. cond: {‘name’ : ‘foo’},   
  79. reduce: function(obj,prev) { prev.msum += obj.marks; },   
  80. initial: {msum : 0}   
  81. });   
  82.  
  83. MySQL:   
  84. SELECT name FROM user WHERE age < 20   
  85. Mongo:   
  86. db.user.find(‘this.age < 20′, {
    name : 1})   
  87.  
  88. 发现很多人在搜MongoDB循环插入数据,下面把MongoDB循环插入数据的方法添加在下面:   
  89.  
  90. for(var i=0;i<100;i++)db.test.insert({uid:i,uname:’nosqlfan’+i});   
  91.  
  92. 上面一次性插入一百条数据,大概结构如下:   
  93. { “_id” : ObjectId(“4c876e519e86023a30dde6b8″), “uid” : 55, “uname” : “nosqlfan55″ }   
  94. { “_id” : ObjectId(“4c876e519e86023a30dde6b9″), “uid” : 56, “uname” : “nosqlfan56″ }   
  95. { “_id” : ObjectId(“4c876e519e86023a30dde6ba”), “uid” : 57, “uname” : “nosqlfan57″ }   
  96. { “_id” : ObjectId(“4c876e519e86023a30dde6bb”), “uid” : 58, “uname” : “nosqlfan58″ }   
  97. { “_id” : ObjectId(“4c876e519e86023a30dde6bc”), “uid” : 59, “uname” : “nosqlfan59″ }   
  98. { “_id” : ObjectId(“4c876e519e86023a30dde6bd”), “uid” : 60, “uname” : “nosqlfan60″ }   
  99.  
  100.  
  101. 简易对照表   
  102. SQL Statement                                                  Mongo Query Language Statement   
  103. CREATE TABLE USERS (a Number, b Number)         implicit; can be done explicitly   
  104.  
  105. INSERT INTO USERS VALUES(1,1)                             db.users.insert({a:1,b:1})   
  106. SELECT a,b FROM users                                           db.users.find({}, {a:1,b:1})   
  107. SELECT * FROM users                                              db.users.find()   
  108. SELECT * FROM users WHERE age=33                      db.users.find({age:33})   
  109. SELECT a,b FROM users WHERE age=33                   db.users.find({age:33}, {a:1,b:1})   
  110. SELECT * FROM users WHERE age=33 ORDER BY name                db.users.find({age:33}).sort({
    name:1})   
  111. SELECT * FROM users WHERE age>33                     db.users.find({
    'age':{$gt:33}})})   
  112. SELECT * FROM users WHERE age<33                     db.users.find({
    'age':{$lt:33}})})   
  113. SELECT * FROM users WHERE name LIKE "%Joe%"                                   db.users.find({
    name:/Joe/})   
  114. SELECT * FROM users WHERE name LIKE "Joe%"                               db.users.find({
    name:/^Joe/})   
  115. SELECT * FROM users WHERE age>33 AND age<=40                                   db.users.find({
    'age':{$gt:33,$lte:40}})})   
  116. SELECT * FROM users ORDER BY name DESC                                   db.users.find().sort({
    name:-1})   
  117. CREATE INDEX myindexname ON users(name)                                   db.users.ensureIndex({
    name:1})   
  118. CREATE INDEX myindexname ON users(name,ts DESC)                                   db.users.ensureIndex({
    name:1,ts:-1})   
  119. SELECT * FROM users WHERE a=1 and b='q'                                   db.users.find({a:1,b:'q'})   
  120. SELECT * FROM users LIMIT 10 SKIP 20                                   db.users.find().limit(10).skip(20)   
  121. SELECT * FROM users WHERE a=1 or b=2                          db.users.find( { $or : [ { a : 1 } , { b : 2 } ] } )   
  122. SELECT * FROM users LIMIT 1                                          db.users.findOne()   
  123. EXPLAIN SELECT * FROM users WHERE z=3                                   db.users.find({z:3}).explain()   
  124. SELECT DISTINCT last_name FROM users                                   db.users.distinct('last_name')   
  125. SELECT COUNT(*y) FROM users                                            db.users.count()   
  126. SELECT COUNT(*y) FROM users where AGE > 30                             db.users.find({age: {
    '$gt': 30}}).count()   
  127. SELECT COUNT(AGE) from users                                       db.users.find({age: {
    '$exists'true}}).count()   
  128. UPDATE users SET a=1 WHERE b='q'                                   db.users.update({b:'q'}, {$set:{a:1}}, falsetrue)   
  129. UPDATE users SET a=a+2 WHERE b='q'                                   db.users.update({b:'q'}, {$inc:{a:2}}, falsetrue)   
  130. DELETE FROM users WHERE z="abc"                                    db.users.remove({z:'abc'});