使用循环引用防止架构中的大量填充

时间:2019-11-22 22:55:19

标签: mongodb mongoose

我有这个模式:

const Person= new Schema({

     father:   {
        type: Schema.Types.ObjectId,
        ref: "Person"
     },

     childs: [{
        type: Schema.Types.ObjectId,
        ref: "Person"
     }]
})


module.exports = mongoose.model("Person",Person )


下一步是填充。我使用find




Person.pre('find', function(next){
    this.populate('father')
    this.populate('childs')
     return next()

}

我的问题出在一个孩子指着父亲,而父亲指着孩子时。这构成了循环依赖性。我尝试像这样childs排除this.populate('childs', '-father -childs')中的某些字段,但仍然无法正常工作。

我如何预防这种人口过多?

0 个答案:

没有答案