Mongodb嵌套文档的修改-利用数组修改器更新数据

dkiq5124 4年前

来自: http://blog.csdn.net/frightingforambition/article/details/50684394


初学mongodb的可能和我一样有个疑问,mongodb是文档型的,那么如果一个文档嵌套另外一个文档,如果对这个嵌套文档进行增删改查呢。
就像如下这样:这里写图片描述,如何对auther里面的name进行增删改查呢?这篇博客我们一起来看一下。

这里要用到几个修改器:$push,$pop,$pull

  • 首先增加一个name:
db.myFirstCollection.update({_id:1},{$push:{"auther":{"name":1}}})
  • 删除最后一个值,若要删除第一个值则为-1
db.myFirstCollection.update({_id:1},{$pop:{"auther":1}})
  • 删除指定值
db.myFirstCollection.update({_id:1},{$pull:{"auther":{"name":1}}})
  • 如果要给auther中第一个值加一个age字段
db.myFirstCollection.update({"_id" :1},{$set:{"auther.0.age":22}})