在Mongodb中更新和返回文档
我想获取更新的文档。这是我的原始代码,它成功更新但没有返回文档。
collection.update({ "code": req.body.code },{$set: req.body.updatedFields}, function(err, results) { res.send({error: err, affected: results});
db.close();
});
我使用了toArray函数,但是这给出了错误“没有提供的回调就不能使用writeConcern”:
collection.update({ "code": req.body.code },{$set: req.body.updatedFields}).toArray( function(err, results) { res.send({error: err, affected: results});
db.close();
});
有任何想法吗?
回答:
collection.update()
只会向自己的回调报告受影响的文档数。
要在修改时检索文档,可以collection.findOneAndUpdate()
改用(以前称为.findAndModify()
)。
collection.findOneAndUpdate( { "code": req.body.code },
{ $set: req.body.updatedFields },
{ returnOriginal: false },
function (err, documents) {
res.send({ error: err, affected: documents });
db.close();
}
);
.findOneAndUpdate
在mongoDB中执行时,请使用;{returnNewDocument:
true}如果使用mongoose,则可以使用{new : true}
。以上是Node.js驱动程序。
注意:当前指的是2.2版以上的Node.js驱动程序。对于将来的版本,请检查文档中是否有弃用警告,并改用建议的替代方法。
以上是 在Mongodb中更新和返回文档 的全部内容, 来源链接: utcz.com/qa/408232.html