mongodb 的增加,删除,查询操作就不多介绍了,主要是insertOne,insertMany,deleteOne,deleteMany,findOne,find等等api,修改中有一些修饰符可以方便我们实现功能.
1. $inc
db.movies.updateOne({"title":"E.T",{"$inc":{"pageviews":1}}})
可以让pageviews加1
执行语句前pageviews是3,
执行语句后成了4.
2.$set
db.movies.updateOne({"title":"E.T",{"$set":{"favorite book":"bob3"}}})
可以新增字段或者修改字段内容,执行语句后favorite book 变成了bob3
3. $unset
和$set用法一样,不过是删除字段.
4. $push
db.movies.updateOne({"title":"E.T",{"$push":{"array":"bob3"}}}) 执行后添加数组array
5.$each
$each可以一次操作中添加多个值,就是可以直接添加数组,db.movies.updateOne({"title":"E.T",{"$push":{"array":{"$each":[1,2,3]}}}),
执行语句后会把数组[1,2,3]添加到array中
6. $slice
限制最后添加的数组数量,db.movies.updateOne({"title":"E.T"},{"$push":{"array":{"$each":[1,2,3],"$slice": -10}}}),
执行语句后array只会保留最后添加的10个元素.
7. $sort
根据某个字段进行排序.需要配合$each使用;
linux写json太难写了,放弃示例.
8. $ne,$addToSet
当一个数组值不存在时,才进行添加操作.
db.movies.updateOne({"authors": {"$ne":"Richie"}},{"$push":{"authors":"Richie"}});
这句话的意思是当数组authors没有Richie的时候,在authors中添加Richie
$addToSet的用法如下:
db.movies.updateOne({"id":1},{"$addToSet":{"email":"123@163.com"}})
$addToSet和$each还能配合使用添加数组.
9. $pop
删除数组元素;
db.movies.updateOne({"title":"123"}, {"$pop":{"array":1}}),
这个命令的意思是删除title为123数据中array数组的最后一个元素.
10. $pull
根据某种条件删除数组元素;
db.movies.updateOne({"title":"123"}, {"$pull":{"array":"dish"}}),
这个命令的意思是删除title为123数据中array数组的名字为dish元素.
11. $
定位运算符,可以根据某个查询条件定位元素