【发布时间】:2016-08-29 23:46:13
【问题描述】:
假设我们有以下文档:
db.test.insert({a: [2, 3, 4, 5, 6, 7, 8]})
如何删除所有偶数并留下[3, 5, 7]?这可以通过使用$pull 运算符来完成吗?
【问题讨论】:
标签: arrays mongodb mongodb-query mongo-shell
假设我们有以下文档:
db.test.insert({a: [2, 3, 4, 5, 6, 7, 8]})
如何删除所有偶数并留下[3, 5, 7]?这可以通过使用$pull 运算符来完成吗?
【问题讨论】:
标签: arrays mongodb mongodb-query mongo-shell
您可以使用$pull 更新运算符和$mod 查询运算符从数组中提取所有偶数元素。要更新多个文档,我建议您使用updateMany 方法,对于单个更新,您应该使用updateOne 方法,因为update 在官方语言驱动程序中被突出显示为已弃用。问题是 shell 方法落后于驱动程序。也没有人真正在 shell 中编写应用程序。
db.test.updateMany({}, { "$pull": { "a": { "$mod": [ 2, 0 ] } } } )
【讨论】: