3
說,我Manager
模式:貓鼬多深填充
{
name: { type: String },
clients: [{ type: Mongoose.Schema.ObjectId, ref: 'Client'}]
}
而且,我有Client
模式:
{
name : { type String },
cars : [{ type: Mongoose.Schema.ObjectId, ref: 'Car' }],
houses: [{ type: Mongoose.Schema.ObjectId, ref: 'House' }]
}
而且Car
和House
以及(它們的結構是不是這件事很重要。如何深度填寫多個Client
的單個域名爲.populate()
?
什麼有我想:
Manager.find()
.populate({
path: 'users',
populate: { path: 'cars' },
populate: { path: 'houses' }
});
,如果它的工作(如我覆蓋之前宣佈populate
鍵傳遞給.populate()
方法),這將真正讓我感到吃驚。我的例子顯然會返回每個用戶填充的houses
字段 - 最後一個字段。老實說,不知道,在docs也沒有。它甚至支持?我知道這是基於我的示例的「淺」填充:
User.populate('cars')
.populate('houses')
那麼深的那個呢?
當然這只是'Users.populate({路徑: '用戶',填入:{路徑:「汽車房屋'}})'。作爲「汽車之家」,由於空間限制了當前級別的路徑列表。至少對於單個級別來說這是真的,所以對於其他任何事情肯定應該是一樣的。 –
謝謝,它有幫助。我忽略了文檔中的解釋嗎? – wscourge
在文檔開始的某個地方提到空格分隔列表。它取代你提到的'.populate()。populate()'。 –