javascript - 如何修复 Model.findByIdAndUpdate() 返回属性 null
问题描述
我用两个参数更新我的类别:标题和描述。如果我同时填写标题和描述 => 这是真的。如果我只填写title => category.description = null。如果我只填写 title => category.description = old 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)
推荐阅读
- python - HSM 与 Python 请求模块的集成
- selenium - contains(., 'some text') 是指 Selenium 中使用的 xpath 中的内容
- javascript - Vuex mapAction 的“未知动作类型”
- sql - 如何修复此错误:ddl 语句干扰查询重新计划?
- microcontroller - 什么是编译堆栈?
- c# - 如何转换代码页 437 中的字符?
- authentication - asp.net core with Azure authentification and azure load balancer
- wolfram-mathematica - 如何将输出转换为应力强度单位(MPa sqrt[米])
- bash - pv command for progress bar not working correctly in a script
- ios - 在苹果开发者帐户(企业帐户)中创建应用标识符时出错