【发布时间】:2018-11-15 19:11:39
【问题描述】:
我有 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)
}
【问题讨论】:
-
updatedLanding的值是多少?
-
猫鼬:landings.findAndModify({ key: '018d803bcf5aaf902e4ee5af' }, [], { '$setOnInsert': { created_at: new Date("星期一,2018 年 9 月 3 日 08:42:18 GMT" ) }, '$set': { name: 'New Name', updated_at: new Date("Mon, 03 Sep 2018 08:42:18 GMT") } }, { new: false, upsert: false, fields: { } })
-
使用
new: true获取更新的文档...Landing.findOneAndUpdate({key: req.body.key}, { $set: { name: req.body.name } }, {new: true}) -
谢谢。作品:)