This question already has an answer here:
MongoDB pull array element from a collection
(1个答案)
4年前关闭。
在mongodb中努力使用$ pop。假设我有以下集合:
给定它的ID,我想从subdoc.array中删除一个项目。
因此,对于上面的文档,我如何删除id =“ 999”的项目,以便subdoc.array中唯一剩余的项目是id =“ 777”的项目?
(1个答案)
4年前关闭。
在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”的项目?
最佳答案
$pop
运算符删除数组的第一个或最后一个元素。传递$pop
值-1
删除数组的第一个元素,传递1删除数组的最后一个元素。
我认为使用$pull
更好
> db.docs.update({name: 'item 1'}, {$pull: {'subdoc.array': {'id': '999'}}})