2017-04-13 33 views
1

我是MongoDB的新手。我试图更新MongoDB中的很多记录。但它给我带来了这个错误。任何人都可以帮忙吗?MongoDB 3.2.6无法运行updateMany()

2017-04-13T11:23:07.572-0700ÈQUERY [线程1]错误:更新操作文档必须包含原子运算符: [email protected]/mongo/shell/crud_api.js:568: 1 @(壳):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 
}) 

回答

0

updateMany需要你指定你的操作正在申请。您的示例查询将如下所示:

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