【问题标题】:MongoDB: unconditional updates?MongoDB:无条件更新?
【发布时间】:2016-07-28 16:02:48
【问题描述】:

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

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

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

【问题讨论】:

    标签: mongodb


    【解决方案1】:

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

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

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

    请改用$set operator

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

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

    【讨论】:

      猜你喜欢
      • 2016-08-10
      • 1970-01-01
      • 1970-01-01
      • 2016-11-15
      • 2013-10-16
      • 1970-01-01
      • 2017-10-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多