在第一次查询新库存时,当文档不存在时,它会添加新文档,但随后返回值为null的错误。我遵循了文档并输入了"返回新文档":true,但它仍然不起作用。。
当新文档扰乱新文档时,我如何返回它?
let doc = await col.findOneAndUpdate(
{'stock': stock},
{'$addToSet': {'likes': ip}},
{'upsert': true, 'returnNewDocument': true}
);
返回以下错误
Updated Document: {"lastErrorObject":{"n":1,"updatedExisting":false,"upserted":"5e5dbb8bf12e9343ec7a9b88"},"value":null,"ok":1,"$clusterTime":{"clusterTime":"6799797218074165249","signature":{"hash":"sd5UrKaesKhMqtQEHBKTlE4Lovw=","keyId":"6794816602199031810"}},"operationTime":"6799797218074165249"}
p.S.Sry不知道如何包装代码以便正确显示。接受建议。
只需将阶段$addToSet更改为$set
try {
db.grades.findOneAndUpdate(
{ "stock" : stock },
{ $set: { "likes" : ip}},
{ upsert:true, returnNewDocument : true }
);
}
catch (e){
print(e);
}
现在使用这个代码。。。