字段"/>
仅更新以JSON发送的字段
我有这段代码:
// Update a card
router.patch('/:id', async (req, res) => {
try {
const card = await Card.findByIdAndUpdate(
{_id: req.params.id},
{ $set: {
title: req.body.title,
description: req.body.description}},
{ new: true });
res.json(card);
} catch (error) {
res.status(404).json({message: error});
}
});
我希望能够分别更新标题和描述,这意味着如果我发送仅包含标题的JSON,则仅标题将被更新,问题是如果我使用上面的代码这样做,因为描述丢失,说明将更新为null。有没有办法只更新我在JSON中发送的内容?
回答如下:您可以使用传播运算符动态构建更新:
let req = { body: { title: "title" } }
let update = { $set: { ...req.body } }
console.log(update);
更多推荐
仅更新以JSON发送的字段
发布评论