Javascript 如何将mongo objectId字段设置为null或空,甚至删除该字段?
我的模态:Javascript 如何将mongo objectId字段设置为null或空,甚至删除该字段?,javascript,node.js,mongodb,mongoose,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") }
{
"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=未定义
我需要将
“category”
字段设置为null
或empty
甚至删除它怎么做?ObjectId
应该是一个24长度的字符串,我猜您的id
不是。这就是为什么mongo无法将其转换为有效的ObjectId
一种解决方案是为类别字段生成24个字符的有效ObjectId
。
另一种方法是将
category
设置为一个简单的String
,而不是ObjectId
ObjectId
应该是一个24长度的字符串,我想您的id
不是。这就是为什么mongo无法将其转换为有效的ObjectId
一种解决方案是为类别字段生成24个字符的有效ObjectId
。
另一种方法是将
category
设置为一个简单的String
,而不是ObjectId
尝试取消设置该文档
document.update({_id: "5dsfkjh2r74dsjdhf3r4f"}, {$unset: {category: 1 }});
或
尝试取消设置文档
document.update({_id: "5dsfkjh2r74dsjdhf3r4f"}, {$unset: {category: 1 }});
或
线下使用
document.category=new MongoDB\BSON\ObjectID(“”) 使用下线
document.category=new MongoDB\BSON\ObjectID(“”) 它不是原始id。它的示例用途。顺便说一句,我需要删除或取消设置对象id字段为null。它不是原始id。它的示例用途。顺便说一句,我需要删除或取消设置对象id字段为null。