我使用Mongo的方式有什么问题?我只是想更新一个记录。
下面是我的代码:
async function updateReview (req, res) {
const review = {
...req.body
}
const existingReview = await Review.findOne({
userId: review.userId,
launchId: review.launchId
}).lean()
if (!existingReview) {
return res.status(404).send()
}
existingReview.content = review.content
existingReview.displayName = review.displayName
existingReview.rating = review.rating
await existingReview.save()
return res.status(200)
}
因此,我所要做的就是找到现有的评论,更新一些字段并保存它。我的代码在以下行失败:await existingReview.save()
。错误说明.save
不是函数。
1条答案
按热度按时间yizd12fk1#
.save()
函数不存在,因为您调用了.lean()
,它返回的是普通JS对象而不是Mongoose对象。请使用下列选项之一,而不要使用
.save()
:实施例一
实施例二
由于不需要更新的对象,因此使用
updateOne
而不是findOneAndUpdate