javascript - 如何将 mongo objectId 字段设置为 null 或为空甚至删除该字段?

标签 javascript node.js mongodb mongoose

我的模态:

{
  "name":{type:String,required:true},
  "category":{type:mongoose.Schema.Types.ObjectId,ref:"Category"}
}

我有一个使用此模式创建的文档,该文档如下所示:

{
  "_id":ObjectId("5dsfkjh2r74dsjdhf3r4f"),
  "name":"demo 1",
  "category":ObjectId("5ae9dlkj32nds6n37cj23")
}

如果我尝试更改类别字段,例如:

  • document.category = ''
  • document.category = null
  • document.category = 未定义

我收到以下错误:

Cast toObjectId failed ...

我需要将“category”字段取消设置为nullempty,甚至删除它。 如何做到这一点?

最佳答案

尝试取消设置文档

document.update({_id: "5dsfkjh2r74dsjdhf3r4f"}, {$unset: {category: 1 }});

document.update({_id: ObjectId("5dsfkjh2r74dsjdhf3r4f")}, {$unset: {category: 1 }});

关于javascript - 如何将 mongo objectId 字段设置为 null 或为空甚至删除该字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49317838/

相关文章:

javascript - 主干路由器 : Get rid of# in the URL

node.js - 在嵌套的 MongoDB 调用中,如何确保原子性?

node.js - Node JS mongoose 创建博客文章评论系统

javascript - 如何选择两个相同元素之间的所有元素?

javascript - 如何在vuejs2中使用 Controller

c# - 回发后滚动到面板 C#

node.js - 将 mongodb 用户 ID 插入另一个用户模式中

javascript - 获取最后一个id以Row_开头的tr

node.js - 如何简化和消除 GeoJSON 多边形中的重叠

node.js - 从不同端口访问 Expressjs 资源 (CORS)