【问题标题】:MongoDB 3.2.6 failed to run updateMany()MongoDB 3.2.6 无法运行 updateMany()
【发布时间】:2017-04-13 18:38:36
【问题描述】:

我是 MongoDB 的新手。我试图更新我的 MongoDB 中的许多记录。但它给了我这个错误。有人可以帮忙吗?

2017-04-13T11:23:07.572-0700 E QUERY [thread1] 错误:更新操作文档必须包含原子操作符: DBCollection.prototype.updateMany@src/mongo/shell/crud_api.js:568:1 @(shell):1:1

样本数据:

{
    userId: "id#1",
    username: "abc",
    firstName: "ABC",
    lastName: "DEF",
    age: 19
}
{
    userId: "id#1",
    username: "abc",
    firstName: "ABC",
    lastName: "DEF",
    age: 19
}
{
    userId: "id#1",
    username: "abc",
    firstName: "ABC",
    lastName: "DEF",
    age: 19
}
{
    userId: "id#1",
    username: "abc",
    firstName: "ABC",
    lastName: "DEF",
    age: 19
}

示例查询:

db.users.updateMany(
{
    userId: {
        $in: ["id#1","id#2","id#3"]
    }
},
{
    userId: "id#12345",
    username: "abc",
    firstName: "ABC",
    lastName: "DEF",
    age: 19
})

【问题讨论】:

    标签: mongodb mongo-shell


    【解决方案1】:

    updateMany 要求您指定要应用的操作。您的示例查询将如下所示:

    db.users.updateMany(
    {
        userId: {
            $in: ["id#1","id#2","id#3"]
        }
    },
    {
      $set: {
        userId: "id#12345",
        username: "abc",
        firstName: "ABC",
        lastName: "DEF",
        age: 19
      }
    })
    

    【讨论】:

      猜你喜欢
      • 2021-12-23
      • 1970-01-01
      • 2021-08-29
      • 2019-01-07
      • 1970-01-01
      • 2020-09-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多