doc:
{"_id":1,"m":[{"id":1,"m":11},{"id":2,"m":22},{"id":3,"m":33}]}
我希望在单次更新中删除“m.id”== 1 AND“m.id”== 2。我可以使用$ in,例如:
update({"_id":1},{$pull:{"m":{$in:[{"id":1,"m":11},{"id":2,"m":22}]}}})
但它需要整个文档而不是[1,2]
中的“m.id”$答案 0 :(得分:2)
如果您只想从id
指定m array objects
属性,则可以运行以下查询:
db.test.update({_id: 1}, {
$pull: {
m: {
id: {
$in: [1,2]
}
}
}
});