web-dev-qa-db-fra.com

La mise à jour du chemin 'x' créerait un conflit à 'x'

Cette erreur se produit lorsque j'ai essayé de mettre à jour l'élément upsert: Updating the path 'x' would create a conflict at 'x'

15
zored

Le champ doit apparaître soit dans $set, ou dans $setOnInsert. Pas dans les deux.

19
zored

Si vous passez la même clé dans $set et en $unset lors de la mise à jour d'un élément, vous obtiendrez cette erreur.

Par exemple:

const body = {
   _id: '47b82d36f33ad21b90'
   name: 'John',
   lastName: 'Smith'
}

MyModel.findByIdAndUpdate(body._id, { $set: body, $unset: {name: 1}})

// Updating the path 'name' would create a conflict at 'name'
2
RodrigoNOFX

J'ai eu le même problème lors de l'exécution d'une requête de mise à jour à l'aide de PyMongo.
J'essayais de faire:


> db.people.update( {'name':'lmn'}, { $inc : { 'key1' : 2 }, $set: { 'key1' : 5 }})

Notez qu'ici j'essaye de mettre à jour la valeur de key1 de deux opérateurs de mise à jour MongoDB .

Cela se produit essentiellement lorsque vous essayez de mettre à jour la valeur d'une même clé avec plusieurs Opérateurs de mise à jour MongoDB dans la même requête.

Vous pouvez trouver une liste des opérateurs de mise à jour sur ici

0
saintlyzero