如果记录不存在某些数据,我想插入一条记录,如果该记录存在,我想更新数据的某些键。但它不会发生在$set,在这种情况下$setOnInsert不起作用。
db.update(
{key1:value1},
{
$set:{key5:value5,key4:value4},
$setOnInsert: { key1: value1,key2:value2,key3:value3,key4:value4 }
},
{upsert:true}
)
.then(out => {
console.log("for out");
console.log(out);
return Promise.resolve(out);
})
预期成果 :-如果记录已经存在,它应该修改 key4。
当前结果 :-
未处理的拒绝:Mongo错误:更新路径"key4"将在"key4"处产生冲突
你在$set和$setOnInsert中都有key4:value4。将其从$setOnInsert中删除。
db.update(
{key1:value1},
{
$set:{key5:value5,key4:value4},
$setOnInsert: { key1: value1,key2:value2,key3:value3}
},
{upsert:true}
)
.then(out => {
console.log("for out");
console.log(out);
return Promise.resolve(out);
})