如何修复Model.findByIdAndUpdate()返回属性null

时间:2019-07-16 05:28:51

标签: javascript mongoose

我使用两个参数更新类别:标题和描述。如果我同时填写标题和说明=>,那是真的。如果我只填写title => category.description = null。我想只填写title => category.description =旧的描述值。

我该怎么做?

let { title, description } = updatedCategory
let category = await Category.findByIdAndUpdate(id, {
    title,
    description,
    date: Date.now()
})

1 个答案:

答案 0 :(得分:1)

您可以有条件地添加属性

const { title, description } = updatedCategory

const query = {
  ...(title && { title }),
  ...(description && { description }),
  date: Date.now(),
}

const category = await Category.findByIdAndUpdate(id, query)