你好我使用MongoBD與節點JS,我用npm install mongodb
findOneAndUpdate:真返回原始文件的MongoDB
我想更新現有的文檔,並且返回更新的文件,這個文件被正確更新。但它返回舊文檔意味着更新前的原始文檔。我使用了returnNewDocument:true
參數,但沒有用。
var filter = {
'_id': object_id
},
update = {
$set: { "status" : data["status"] },
$push: {
"statusHistory": {
$each: [{ status:data["status"],statusChangedTime:data["statusChangedTime"],comment:data["comment"]}],
$position:0,
}
},
}
,options = {
//upsert: false,
//multi: false,
returnNewDocument: true
};
col.findOneAndUpdate(filter, update, options,function(err, res) {
if (err) {
console.log(err);
}else {
console.log(res);
}
});
的響應
{ lastErrorObject: { updatedExisting: true, n: 1 },
value:
{
//original document
},
ok: 1 }
時,我直接去的MongoDB通過終端和嘗試
db.MyCollection.find().pretty();
文檔被正確地更新,它只是返回原始的,而不是更新的一個。
困在這裏2小時,任何幫助表示讚賞
中的package.json
"mongodb": "^2.1.4",
什麼版本的MongoDB使用? 3.2? – Saleem