MongoDB 3.2 如何通过单条查询批量更新符合多条件的文档记录
MongoDB 3.2 批量多条件更新语句实现
你可以直接使用update()方法配合multi: true参数实现单语句批量更新,具体代码如下:
// 请将collectionName替换为你的实际集合名 db.collectionName.update( // 匹配条件组合 { $or: [ { field1: "24333" }, { $and: [ { field2: "3645" }, { field2: "test1" } ] }, { field2: "test2" } ] }, // 更新操作:新增field3字段赋值为true { $set: { field3: true } }, // 开启批量更新 { multi: true } )
注意事项
- 代码中的第二个组合条件
field2同时等于"3645"和"test1"逻辑上不成立,同一个字段无法同时匹配两个不同的字符串值,属于明显笔误。如果你实际需要的是field1等于"3645"且field2等于"test1",把对应条件块修改为{ $and: [ { field1: "3645" }, { field2: "test1" } ] }即可。 - 必须加
multi: true参数,否则MongoDB默认只会更新匹配到的第一条文档,不会触发批量更新。
内容的提问来源于stack exchange,提问作者Akshay
相关产品推荐
相关产品推荐

