【发布时间】:2019-08-16 15:40:57
【问题描述】:
我正在执行一个猫鼬Model.findById() 函数,以便通过使用快速路由返回单个实例。
Model.findById(modelid)
.then(instance => {
if(instance.isOwnedBy(user)) {
return instance.update({$push: {days: req.params.dayid}}, {new: true})
.then(foo => res.send(foo))
} else {
res.status(401).send("Unauthorized")
}
})
以上代码返回一个包含opTime, electionId...etc 的对象,而不是返回新更新的文档实例。我如何在instance.update() 方法之后返回新更新的文档?
【问题讨论】:
-
@srinivasy 它确实更新了文档
-
来自文档:Model.update()
Updates one document in the database without returning it. -
@CuongLeNgoc 即使我在文档实例而不是模型上调用它?有没有返回新更新文档的函数?
-
也许您可以使用相同的选项 {new:true} findOneAndUpdate() 以返回新文档,因为更新只会返回写入结果!
-
你这里
instance.isOwnedBy(user)有附加条件,可以转换成一个mongoose查询吗?