如何删除与MongoDB $ pult不匹配条件的元素



我有一个看起来像这样的mongdb文档:

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

我将如何使用mongodb $ pult oterator从数组中删除不是 true的所有元素,有点像这样:

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

使用查询中的 $elemMatch 运算符与逻辑运算符 $ne 一起使用:

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

最新更新