MongoDB語法與現有關係型資料庫SQL語法比較

tolywang發表於2016-08-14

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 whereID<20
 
db.test.insert({'name':'foobar','age':25})<==>insertinto 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}})   <==> elete 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' 

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/35489/viewspace-2123448/,如需轉載,請註明出處,否則將追究法律責任。

相關文章