このエラーは、アップサートアイテムを更新しようとしたときに発生します:Updating the path 'x' would create a conflict at 'x'
フィールドは$set
、または$setOnInsert
。両方ではありません。
アイテムの更新時に$set
と$unset
で同じキーを渡すと、そのエラーが発生します。
例えば:
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'
PyMongoを使用してupdateクエリを実行しているときに同じ問題が発生しました。
私がやろうとしていたこと:
> db.people.update( {'name':'lmn'}, { $inc : { 'key1' : 2 }, $set: { 'key1' : 5 }})
ここで、key1
の値を2つのMongoDB更新演算子から更新しようとしていることに注意してください。
これは基本的に、複数のMongoDB更新演算子で同じキーの値を更新しようとすると発生します同じクエリ内。
更新演算子のリストは here で見つけることができます