【问题标题】:How do I remove elements not matching conditions with MongoDB $pull?如何删除与 MongoDB $pull 条件不匹配的元素?
【发布时间】:2018-02-10 14:39:58
【问题描述】:

我有一个如下所示的 MongDB 文档:

{
   values: [{val:true}, {val:false}, {val:true}, {val:"dgfdshfsj"}]
}

我将如何使用 MongoDB $pull 运算符从数组中删除所有不是 true 的元素,有点像这样:

db.myCollection.update({}, {$pull{values:{val:!true}}}, {multi:true})

【问题讨论】:

    标签: arrays node.js database mongodb mongodb-update


    【解决方案1】:

    在查询中使用 $elemMatch 运算符和逻辑运算符 $ne,如下所示:

    db.myCollection.updateMany(
        { "values": { "$elemMatch": { "val": { "$ne": true } } } },
        { "$pull": { "values": { "val": { "$ne": true } } } }
    )
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-01-05
      • 1970-01-01
      • 2019-01-01
      • 2019-12-11
      • 1970-01-01
      • 2018-04-11
      • 1970-01-01
      • 2021-05-06
      相关资源
      最近更新 更多