如何删除猫鼬文档中的对象key:value?

时间:2020-09-29 16:38:46

标签: javascript forms mongoose put

我有一个像这样的猫鼬模式:

{ 
  obj: {
   firstKey: {type: boolean},
   secondKey: {type: boolean}
  }
}

我可以使用javascript表单基于此架构添加和修改文档。

我可以通过复选框更改obj.firstKey和obj.secondKey的值。

例如,如果选中了obj.firstKey的复选框,则obj.firstKey设置为true;否则,将其设置为true。相反,如果未选中,则要从文档中删除obj.firstKey。

在表单中,我使用this.value引用我的文档。

我尝试过:

if(this.value.obj && this.value.obj.firstKey===true){
      const {
          firstKey : _del,
          ...newObj
      } = this.value.obj;
                
      this.value = {...this.value, obj: {...newObj}};
}else {
     this.value = {...this.value, obj: {...this.value.obj || '', firstkey: e.target.checked}};                
}

如果我保存更新的数据并调用put HTTP请求,则firstKey不会被删除,但始终设置为true,就好像我没有通过复选框对其进行更改一样。

如果e.target.checked为false并且obj.firstKey最初设置为true,如何删除obj.firstKey?

0 个答案:

没有答案