我的模态:
{
"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 = undefined
我收到以下错误:
施放toObjectId失败...
我需要将"category"
字段取消设置为null
或empty
,甚至删除它。 怎么做?
答案 0 :(得分:3)
尝试1
文档
x
或
unsetting
答案 1 :(得分:0)
ObjectId
应该是一个24长度的字符串,我猜你的id
不是。这就是为什么mongo无法将其转换为有效的ObjectId
。
一种解决方案是为类别字段生成24个字符的有效ObjectId
。
其他方法是将category
设置为简单String
而不是ObjectId
答案 2 :(得分:0)
使用下面的行 document.category = new MongoDB \ BSON \ ObjectID('');