mongodb在子文件中使用$ pop

时间:2016-03-08 01:34:25

标签: javascript mongodb mongodb-query

在mongodb中使用$ pop苦苦挣扎。假设我有以下集合:

`{_id:3
  name: "item 1",
  subdoc:{
            array:[
                     {id: "999",
                      name:"bar"
                     },
                     {id: "777",
                      name:"foo-bar"
                     }
                  ],
            anotherproperty: "foo"
         }
}`

鉴于它是id,我想从subdoc.array中删除一个项目。

因此,对于上面的文档,如何删除id =“999”的项目,以便subdoc.array中唯一剩下的项目是id =“777”的项目?

1 个答案:

答案 0 :(得分:1)

$pop运算符会删除数组的第一个 last 元素。传递$pop-1以删除数组的第一个元素,并传递1以删除数组中的最后一个元素。

我认为最好使用$pull来执行此操作

> db.docs.update({name: 'item 1'}, {$pull: {'subdoc.array': {'id': '999'}}})