MongoDB语法与现有关系型数据库SQL语法比较

MongoDB语法                                  MySql语法

db.test.find({'name':'foobar'})<==> select * from test where name='foobar'

db.test.find()                            <==> select *from test

db.test.find({'ID':10}).count()<==> select count(*) from test where ID=10

db.test.find().skip(10).limit(20)<==> select * from test limit 10,20

db.test.find({'ID':{$in:[25,35,45]}})<==> select * from test where ID in (25,35,45)

db.test.find().sort({'ID':-1})  <==> select * from test order by IDdesc

db.test.distinct('name',{'ID':{$lt:20}})  <==> select distinct(name) from testwhere ID<20

db.test.group({key:{'name':true},cond:{'name':'foo'},reduce:function(obj,prev){prev.msum+=obj.marks;},initial:{msum:0}})  <==> select name,sum(marks) from testgroup by name

 
db.test.find('this.ID<20',{name:1})  <==> select name from test where ID < 20

db.test.insert({'name':'foobar','age':25})<==>insert into test ('name','age') values('foobar',25)


db.test.remove({})                        <==> delete * from test

db.test.remove({'age':20})              <==> delete test where age=20

db.test.remove({'age':{$lt:20}})       <==> delete test where age<20

db.test.remove({'age':{$lte:20}})      <==> delete test where age<=20

db.test.remove({'age':{$gt:20}})       <==> delete test where age>20

db.test.remove({'age':{$gte:20}})     <==> delete test where age>=20

db.test.remove({'age':{$ne:20}})       <==> delete test where age!=20

 

db.test.update({'name':'foobar'},{$set:{'age':36}})<==> update test set age=36 where name='foobar'

db.test.update({'name':'foobar'},{$inc:{'age':3}})<==> update test set age=age+3 where name = ‘foobar’

 

posted @ 2015-11-20 16:06  廖先生  阅读(281)  评论(0编辑  收藏  举报