Atualização: Por favor, veja a resposta de Trinh Hoang Nhu para uma versão mais compacta que foi adicionada no Mongoose 4. Resumido abaixo:
Car
.find()
.populate({
path: 'partIds',
model: 'Part',
populate: {
path: 'otherIds',
model: 'Other'
}
})
Mangusto 3 e abaixo:
Car
.find()
.populate('partIds')
.exec(function(err, docs) {
if(err) return callback(err);
Car.populate(docs, {
path: 'partIds.otherIds',
model: 'Other'
},
function(err, cars) {
if(err) return callback(err);
console.log(cars); // This object should now be populated accordingly.
});
});
Para populações aninhadas como essa, você deve informar ao mangusto o esquema do qual deseja preencher.