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 @   廖先生  阅读(282)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示