如何删除与 MongoDB $pull 条件不匹配的元素?
How do I remove elements not matching conditions with MongoDB $pull?
我有一个如下所示的 MongDB 文档:
{
values: [{val:true}, {val:false}, {val:true}, {val:"dgfdshfsj"}]
}
如何使用 MongoDB $pull 运算符从数组中删除所有不是 true
的元素,有点像这样:
db.myCollection.update({}, {$pull{values:{val:!true}}}, {multi:true})
使用$elemMatch
operator in your query together with the logical operator $ne
如下:
db.myCollection.updateMany(
{ "values": { "$elemMatch": { "val": { "$ne": true } } } },
{ "$pull": { "values": { "val": { "$ne": true } } } }
)
我有一个如下所示的 MongDB 文档:
{
values: [{val:true}, {val:false}, {val:true}, {val:"dgfdshfsj"}]
}
如何使用 MongoDB $pull 运算符从数组中删除所有不是 true
的元素,有点像这样:
db.myCollection.update({}, {$pull{values:{val:!true}}}, {multi:true})
使用$elemMatch
operator in your query together with the logical operator $ne
如下:
db.myCollection.updateMany(
{ "values": { "$elemMatch": { "val": { "$ne": true } } } },
{ "$pull": { "values": { "val": { "$ne": true } } } }
)