如何在单个查询中执行两个$pull操作

3

这里是一个我拥有的示例文档。

用户

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

我想从用户(users)中移除元素2,从场景(scenarios)中移除元素11、44和55。 我试图在单个更新中执行两个$pull操作,但是我似乎无法使用以下代码使其正常工作。
Users.update(
    { _id: 1},  
    {$pull: { users: 2 }, 
    {scenarios : '11 44 55' }, 
    function(err,numberaffected){}
);

以下查询的任何帮助将不胜感激。
1个回答

2
您想要执行 pullAll 操作。
Users.update(
    { "_id": 1 },
    { "$pullAll": {"users": [2], "scenarios": [ 11, 44, 55 ]} }
    ,
    function(err, numAffected) {
    }
);

就像这样,应该这么做。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接