Dire, j'ai un schéma Manager
:
{
name: { type: String },
clients: [{ type: Mongoose.Schema.ObjectId, ref: 'Client'}]
}
Et j'ai un schéma Client
:
{
name : { type String },
cars : [{ type: Mongoose.Schema.ObjectId, ref: 'Car' }],
houses: [{ type: Mongoose.Schema.ObjectId, ref: 'House' }]
}
Et également Car
et House
(leur structure n'est pas importante pour la question. Comment puis-je deep peupler plusieurs champs de Client
dans un seul appel à .populate()
?
Ce que j'ai essayé:
Manager.find()
.populate({
path: 'users',
populate: { path: 'cars' },
populate: { path: 'houses' }
});
et cela me surprendrait vraiment si cela fonctionnait (car j'écrase la clé populate
précédemment déclarée passée à la méthode .populate()
). Mon exemple renvoie évidemment le champ houses
peuplé par utilisateur - celui qui arrive en dernier. Honnêtement, aucune idée, rien dans la documentation non plus. Est-ce même pris en charge? Je sais que c'est le cas pour la peuplement 'superficiel', en se basant sur mon exemple:
User.populate('cars')
.populate('houses')
Et pour le profond?