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

Javascript 如何修复Model.findByIdAndUpdate()返回属性null,javascript,mongoose,Javascript,Mongoose,我用两个参数更新我的类别:title和description。如果我同时填写title和description=>这是真的。如果我只填写title=>category.description=null。如果我只填写title=>category.description=旧的描述值,则需要 我该怎么做 let { title, description } = updatedCategory let category = await Category.findByIdAndUpdate(id, {

我用两个参数更新我的类别:title和description。如果我同时填写title和description=>这是真的。如果我只填写title=>category.description=null。如果我只填写title=>category.description=旧的描述值,则需要

我该怎么做

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

您可以有条件地添加属性

const { title, description } = updatedCategory

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

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

我不知道…(title&{title})中的点。这是什么意思?@NguyenVanTuan它被称为
扩展运算符
,它意味着将对象的所有属性扩展到查询对象。阅读更多谢谢!我还有最后一个问题。我有两个模型:Category:{id,title,description,author}//author contains userId---User:{id,name,categories}//categories contain categoryId。我想检查:只有作者可以更新作者的类别,如果你不是作者,你不能更新这个类别。我怎么做?