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