我正在尝试使用猫鼬更新文档。我想一次更新多个属性。我尝试使用扩展运算符来克隆文档并覆盖需要使用用户输入更新的属性,但它返回了 error document.save is not a function。我有点理解它为什么会抛出错误。因为它不是同一个对象,它只是一个克隆,所以它没有save方法。如果我错了,请纠正我。所以我的问题是:有没有办法像使用扩展运算符一样更新对象?
我的代码:
router.put("/posts/update", (req, res)=>{
const {id, updatedFields} = req.body;
Post.findById(id).exec((err, post)=>{
if(err) throw err;
post = {...post, updatedFields};
post.save();
res.json(post);
})
});