node.js - 如何在单个查询中执行两个 $pull

标签 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){}
);

如果您对以下查询有任何帮助,我们将不胜感激。

最佳答案

您想pullAll

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

像那样,应该做。

关于node.js - 如何在单个查询中执行两个 $pull,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23357042/

相关文章:

javascript - gulp-imagemin 如何将压缩值获取到变量

java - 与 string.getBytes() 混淆

javascript - 使用 $http.get 获取嵌套 JSON 中的数组(mongoose 和 nodejs)

node.js - Mongoose - 使用 .populate 访问嵌套对象

javascript - Node.js foreach + promise

node.js - 在Ubuntu Server上 puppeteer/ Chrome 失败

php - 如何在php中转换mongo db查询

mongodb - Mongo,强制集合中的特定字段具有唯一值

javascript - mongoose remove 不会删除所有文档

javascript - 使用扩展运算符并组合参数