Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mongodb Typegoose-引用子文档的ObjectId_Mongodb_Typescript_Mongoose - Fatal编程技术网

Mongodb Typegoose-引用子文档的ObjectId

Mongodb Typegoose-引用子文档的ObjectId,mongodb,typescript,mongoose,Mongodb,Typescript,Mongoose,我试图从子文档中提取ref。这些文件看起来像这样 样本类别文件: { “_id”:12345 “关键字”:“智能手机”, “子类别”:[ { “_id”:6789, “关键字”:“苹果” }, { “_id”:101123, “关键字”:“三星” } ] } 字典文档示例: { "_id": 12345 "keyword": "iPhone", "category": 12345, "subCategory": 6789 } 以下是我在Typegoose模型定义上尝试的操作:

我试图从子文档中提取
ref
。这些文件看起来像这样

样本类别文件:

{
“_id”:12345
“关键字”:“智能手机”,
“子类别”:[
{
“_id”:6789,
“关键字”:“苹果”
},
{
“_id”:101123,
“关键字”:“三星”
}
]
}
字典文档示例:

{
  "_id": 12345
  "keyword": "iPhone",
  "category": 12345,
  "subCategory": 6789
}
以下是我在Typegoose模型定义上尝试的操作:

对于Dictionary(注意
子类别
属性,我不确定这是否是引用子文档的正确方法):

导出类字典扩展了Typegoose{
_id!:Schema.Types.ObjectId;
@支柱({
默认值:1
})
类型!:IDictionaryInput['type'];
@支柱(
main关键字!:字符串;
@arrayProp({items:Synonym})
同义词!:同义词[];
@属性({ref:Category})
类别!:Ref;
@属性({ref:CategoryModel.subCategories})
子类别!:Ref;
@支柱({
默认值:true
})
状态!:IDictionaryInput['status'];
}
对于类别:

导出类类别扩展了Typegoose{
_id!:Schema.Types.ObjectId;
@支柱(
关键词!:ICategoryInput['keyword'];
@支柱({
默认值:1
})
类型!:ICategoryInput['type'];
@arrayProp({items:Subcategory})
子类别!:子类别[];
@支柱({
默认值:true
})
状态!:ICategoryInput['status'];
@支柱(
insertTimestamp!:ICategoryInput['insertTimestamp'];
}
然后,我尝试通过执行以下操作来填充引用:

DictionaryModel.findOne({u-id:id})
.填充({
路径:'类别',
型号:CategoryModel
})
.填充({
路径:“子类别”,
型号:CategoryModel.subCategories
});
我可以从
类别
成功填充ref,但不能在
子类别