有没有办法将mongo的findAndModify应用于符合条件的每个文档,而不仅仅是第一个?我在mongodb.org上找不到它。
感谢。
答案 0 :(得分:4)
您可以将update()方法与多参数一起使用为真。
答案 1 :(得分:2)
来自docs page:
此命令可用于原子修改文档(最多一个) 并将其归还
所以,不,你只能在这里一次操作一个。因此,除非您遍历每个文档,否则您将无法以这种方式使用findAndModify。另外,通过findAndModify的工作方式,在大型数据集上执行此操作的性能会非常糟糕。
您真正想要做的是使用update命令来实现这种类型的事情:
http://www.mongodb.org/display/DOCS/Updating/#Updating-update%28%29
答案 2 :(得分:1)
findAndModify()操作一次只能应用于一个文档。如果要将其应用于多个文档,则必须使用find()操作查询这些文档,并一次将findAndModify()应用于每个文档。
请注意,虽然各个findAndModify()命令是原子的,但是从上面的循环运行的findAndModify()命令集不是原子的。