MongoDB:无条件更新?

标签 mongodb

这似乎是一个愚蠢的问题,但我还没有找到答案。如果我只是想将相同的字段-> 值添加到 MongoDB 集合中的每条记录,那么合适的 shell 命令是什么?我尝试使用空白查询 ({}) 进行多重更新,但这导致了这个错误:

多重更新仅适用于 $ 运算符

我对如何解决这个问题感到有些困惑。有什么建议吗?

最佳答案

错误说明了一切:您只能使用 $ modifier operators 修改多个文档.你可能有这样的事情:

> db.coll.update({ }, { a: 'b' }, false, true);

如果 multi 为 false,通常替换集合中的第一个对象为 { a: 'b' }。您不会想用同一个文档替换集合中的所有对象!

使用 $set operator而是:

> db.coll.update({ }, { '$set': { a: 'b' } }, false, true);

这会将每个文档的 a 属性(根据需要创建)设置为 'b'

关于MongoDB:无条件更新?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5587677/

相关文章:

regex - 使用正则表达式搜索 mongodb _id 字段

node.js - Mongoose 引用被覆盖

python - pymongo-upsert 无法使用 $set 操作执行插入

javascript - Mongoose - 使用 populate 方法后如何处理结果?

C# 如何从嵌套数组中获取特定项

mongodb - 在 mongodb 中查找包含给定子字段的所有记录

Ruby/rails : mongoid with mongo(gem); a bson conflict? 如何处理不同版本?

mongodb - 从 mongodb 文档 _id 字段获取日期和时间

javascript - Mongoose 不创建索引

c# - 如何使用官方 MongoDB C# 驱动程序将 BsonDocument 转换为强类型对象?