如何在单个查询中执行两次$ pulls

时间:2014-04-29 06:24:52

标签: node.js mongodb mongoose

这是我的一个示例文档。

用户

{
    "_id": 1,
    "users": [2,3,4,5],
    "scenarios": [11,22,44,55]
}

我想从用户中删除元素2,从场景中删除11 44​​ 55。我试图在一次更新中执行两次$ pull,但我似乎无法使用以下内容。

Users.update(
    { _id: 1},  
    {$pull: { users: 2 }, 
    {scenarios : '11 44 55' }, 
    function(err,numberaffected){}
);

任何有关以下查询的帮助都将不胜感激。

1 个答案:

答案 0 :(得分:2)

您想要pullAll

Users.update(
    { "_id": 1 },
    { "$pullAll": {"users": [2], "scenarios": [ 11, 44, 55 ]} }
    ,
    function(err, numAffected) {
    }
);

就像那样,应该这样做。