例如,我有以下文件:
db.test.save({
_id: 1,
list: [
{ key: "a" },
{ key: "b" },
{ key: "c" },
{ key: "d" },
{ key: "e" }
]
})
我需要从列表中删除第二个元素.
现在我分两步来做.我首先取消设置第二个列表元素,但$unset
运算符没有删除该元素,它将其修改为null
,然后从列表字段中提取任何可为空的值:
db.test.update({_id: 1}, {$unset: {"list.2": 1}})
db.test.update({_id: 1}, {$pull: {list: null}})
是否有一个解决方案可以在一次操作中实现这一点?