巢狀人口

假設你有一個 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 個級別的巢狀填充進行操作,則可能需要重新構建模式。