Javascript 如何修复Model.findByIdAndUpdate()返回属性null
我用两个参数更新我的类别:title和description。如果我同时填写title和description=>这是真的。如果我只填写title=>category.description=null。如果我只填写title=>category.description=旧的描述值,则需要 我该怎么做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, {
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。我想检查:只有作者可以更新作者的类别,如果你不是作者,你不能更新这个类别。我怎么做?