我有1个小问题。我正在尝试通过findOneAndUpdate方法更新模型。而且这种方法的效果出乎意料-数据库中的方法更新模型,但是返回旧模型(更新之前)
try {
const updatedLanding = await Landing.findOneAndUpdate({key: req.body.key}, {
$set: {
name: req.body.name,
}
},
).exec((err, result) => {
if (err) {
res.status(422).send({error: err});
return
}
res.send({response: result})
});
}
catch (e) {
res.status(400).send(e)
}
答案 0 :(得分:1)
在猫鼬查询中,findOneAndUpdate返回已更新的旧记录,而不是已更新的记录,该记录实际上已被更新,但是由于查询默认返回旧记录,因此您无法获取更新的结果。要查看更新的记录,您必须发出另一个查询以查找记录并获取其更新的数据。
答案 1 :(得分:1)
如果使用findOneAndUpdate()钩子更新文档,除非指定,否则将获取旧文档
{ new: true }