嵌套人口

假设你有一个 user 架构,其中包含 namecontactNoaddressfriends

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 的所有 parametersoptions 也可以在嵌套填充内使用,以获得所需的结果。

同样,你可以根据你的要求提供更多信息。

不建议将嵌套填充超过 3 个级别。如果你需要对超过 3 个级别的嵌套填充进行操作,则可能需要重新构建模式。