从mongodb中的数组中删除指定的元素

时间:2014-12-19 09:59:09

标签: mongodb

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”$

1 个答案:

答案 0 :(得分:2)

如果您只想从id指定m array objects属性,则可以运行以下查询:

db.test.update({_id: 1}, {
    $pull: {
        m: {
            id: {
                $in: [1,2]
            }
        }
    }
});