我想更新并获取更新的数据,就像我们对findByIdAndUpdate {new:true}一样,以防我们想要更新数据。我们如何使用更新功能来做到这一点。
mBooking.update(updateDbParams.condition, updateDbParams.update, function(error, resultData) {
if(error)
res.json(mResponse.response(null, null, "something went wrong", null));
else
{
console.log(resultData);
}
});
所以console.log返回;
{ ok: 1,
nModified: 1,
n: 1,
opTime:
{ ts: Timestamp { _bsontype: 'Timestamp', low_: 1, high_: 1483945954 },
t: 1 },
electionId: 7fffffff0000000000000001 }
答案 0 :(得分:2)
您可以将findOneAndUpdate
与new:true
选项
mBooking.findOneAndUpdate(updateDbParams.condition, updateDbParams.update, {new:true}, function(error, resultData) {
if(error)
res.json(mResponse.response(null, null, "something went wrong", null));
else
{
console.log(resultData);
}
});
答案 1 :(得分:0)
您可以使用MongoDB的findAndModify。我不太确定与此相当的节点驱动程序。
修改并返回单个文档。默认情况下,返回 文档不包括对更新所做的修改。至 返回文档,对更新进行修改,使用 新选择。 findAndModify()方法是一个shell助手 findAndModify命令。
答案 2 :(得分:0)
mongoose更新功能不会返回更新的文档。这显示为here。
正如其解释的那样,使用{new:true}的mongoose findByIdAndUpdate函数是最佳选择。还显示了findById的较长版本 - >保存。