谁能帮我理解为什么在更新完成后我的 promise 会从 Mongo 返回原始(更新前的)对象?
为了清楚Mongo正在更新,我可以看到当我直接访问数据库(shell)时,但似乎更新在返回dbModel后生效;这没有意义。
updateOneEvent: function (req, res) {
db.Event.findOneAndUpdate({
_id: req.params.eventId,
user: req.session.user._id
}, req.body)
.then(dbModel => res.json(dbModel))
.catch(err => res.status(422).json(err));
}
最佳答案
在您的选项中传递 {returnNewDocument: true}
,它将返回新文档,而不是返回更新前的文档。 https://docs.mongodb.com/manual/reference/method/db.collection.findOneAndUpdate/
参见 Mongoose: findOneAndUpdate doesn't return updated document了解更多详情
关于javascript - mongo 没有返回我更新的对象的 promise ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54844026/