启动mongo

mongod.exe

启动mongo shell

注意,启动mongo shell是进入shell界面的意思,跟启动mongo服务器是两回事哦。

mongo.exe

mongodb 增加、删除、修改、查询_数据


查询

查询全部

db.mycollect.find()

按条件查询、只显示某些字段

查询name=tmac的文档,并且只显示age字段

db.mycollect.find({name:'tmac'},{age:1})

分页、排序

db.mylog.find({mydate:{$gte:new Date(2016,8,1)}}).skip(10).limit(10).sort({mydate:-1});

查询2016年9月1号往后的,查询第二页(跳过10,查询10条),按照mydate倒序排列。
注意:Date(year,month,day)构造函数中的month是从0开始的,参考 Mongo Date


增加

db.mycollect.insert({name:'tmac',age:33})

修改

修改一条

将name=tmac的文档,将name改为kobe
update默认只更新一条

db.mycollect.update({name:'tmac'},{$set:{name:'kobe'}})

修改多条

声明multi:true,修改所有符合条件的文档

db.mycollect.update({name:'tmac'},{$set:{name:'kobe'}},{multi:true})

替换文档

db.mycollect.save({_id:ObjectId("5784a72acfe26b85da098bcd"),name:'jordan'})

更新前

mongodb 增加、删除、修改、查询_数据_02

更新后

mongodb 增加、删除、修改、查询_增加字段_03

替换是根据id来的。

替换、更新的不同

更新是更新字段值,可能增加字段,但不会删除字段;
替换是根据id替换整个文档,可能增字段也可以删字段;

删除

删除所有数据

db.mycollect.remove({})

按条件删除

删除name=tmac的所有数据

db.mycollect.remove({name:'tmac'})

注意,如果mongodb是主从复制,那么只能在主数据库删除,在从数据库无法删除