Mongodb常用语法

关于Mongodb的全面总结,学习mongodb的人,可以从这里开始!

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 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'

Mongodb集群搭建的三种方式

Mongodb的三种集群方式的搭建:Replica Set / Sharding / Master-Slaver

MongoDB高可用集群配置的几种方案

  • Relica Set副本集方式

Mongodb的Replica Set即副本集方式主要有两个目的,

  1. 一个是数据冗余做故障恢复使用,当发生硬件故障或者其它原因造成的宕机时,可以使用副本进行恢复。
  2. 另一个是做读写分离,读的请求分流到副本上,减轻主(Primary)的读压力。

你可能感兴趣的:(Mongodb常用语法)