MongoDB如何在子句更新中执行此操作

ran*_*its 8 mongodb

我有一个名为'Foo'的集合.我想更新Foo集合中bar值为100到1000的每个文档.在MongoDB中运行此更新以获得有效更新的最佳方法是什么?

Joh*_*yHK 14

使用$set运算符来执行此操作:

db.foo.update({bar: 100}, {$set: {bar: 1000}}, false, true)
Run Code Online (Sandbox Code Playgroud)

第四个参数将multi选项设置为true,以便您更新所有匹配的文档,而不仅仅是第一个.

3.2更新

最近的MongoDB版本提供了updateMany一种更直观的方法:

db.foo.updateMany({bar: 100}, {$set: {bar: 1000}})
Run Code Online (Sandbox Code Playgroud)