我有这个模式:
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')
中的某些字段,但仍然无法正常工作。
我如何预防这种人口过多?