【发布时间】:2016-06-08 03:40:12
【问题描述】:
我正在使用带有节点 js 的 MongoDB,我使用了 npm install 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?
标签: javascript node.js mongodb express