嵌套人口
假设你有一个 user
架构,其中包含 name
,contactNo
,address
和 friends
。
var UserSchema = new mongoose.Schema({
name : String,
contactNo : Number,
address : String,
friends :[{
type: mongoose.Schema.Types.ObjectId,
ref : User
}]
});
如果你想找到一个用户,他的朋友和朋友的朋友,你需要做 2 个级别的人口,即嵌套人口。
寻找朋友的朋友和朋友:
User.find({_id : userID})
.populate({
path : 'friends',
populate : { path : 'friends'}//to find friends of friends
});
populate
的所有 parameters
和 options
也可以在嵌套填充内使用,以获得所需的结果。
同样,你可以根据你的要求提供更多信息。
不建议将嵌套填充超过 3 个级别。如果你需要对超过 3 个级别的嵌套填充进行操作,则可能需要重新构建模式。