我有一个包含许多文档的集合,每个文档包含一个数组,我想从每个文档中删除此数组中的最小值。
实现这一目标的最有效方法是什么? findAndModify能否执行此类操作?
我是否需要使用forEach?
答案 0 :(得分:3)
JohnnyHK的评论是正确的。唯一的方法是find()
所有文档,单独更新,然后重新保存。
答案 1 :(得分:2)
这不是FindAndModify命令的目的,就像documentation中所述:
findAndModify命令以原子方式修改并返回单个文档。
您应该使用常规update
方法,并将multi
标志设置为true。查看update documentation。