我在mongo有一个集合,我们叫它Parent,有一个属性叫children,类似这样
const ParentSchema = mongoose.Schema({
children: [{
//children properties
}],
//other collection properties
当我在这个集合中保存一条记录时,每个子对象都将获得一个如下所示的objectId
"_id" : ObjectId("63ba8421f2f128e2f8e6916d")
然后我有一个集合叫做Report,在这个集合中我可以这样引用Parent
const ReportSchema = mongoose.Schema({
parent: {
type: mongoose.Schema.Types.ObjectId,
ref: "Parent",
required: false
},
有没有办法在这个集合中定义一个引用孩子的字段,以便创建一个引用特定孩子的记录?2或者我应该使用一个字符串字段并在其中存储孩子的id?
我们的想法是在报表中生成如下记录
{
"_id" : ObjectId("63bc482afde665158cd71a41"),
"createdBy" : ObjectId("63b9d635e6225fa0ff29f316"),
"parent" : ObjectId("63bbac19fde665158cd718e9"),
"child" : ObjectId("63ba83eef2f128e2f8e69140"),
// other properties
}
1条答案
按热度按时间2guxujil1#
作为一种良好的做法,我倾向于在报表模式中添加ParentId,而不需要在父项中存储所有子项ID
如果数据很大,可能会产生问题。