2017-04-13 5 views
1

Je suis nouveau sur MongoDB. J'essayais de mettre à jour de nombreux enregistrements dans mon MongoDB. Mais ça m'a jeté cette erreur. Quelqu'un peut-il aider d'ici?MongoDB 3.2.6 n'a pas réussi à exécuter updateMany()

2017-04-13T11: 23: 07,572 à 0700 E QUERY [thread1] Erreur: le document d'opération de mise à jour doit contenir des opérateurs atomiques: [email protected]/mongo/shell/crud_api.js: 568: 1 @ (shell): 1: 1

données de l'échantillon:

{ 
    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 
} 

Exemple de requête:

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

Répondre

0

updateMany vous oblige à préciser l'opération que vous appliquent. Votre exemple de requête ressemblerait alors à:

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