Virtual Populate
Mongoose 🔴 SeniorDefinition
Permet de populer une relation sans stocker de reference dans le document parent. Utilise un champ du document enfant comme foreignField pour la jointure.
Analogie
Trouver tous les colis livres a une adresse sans que l'adresse ait une liste de colis.
Exemple de code
authorSchema.virtual('books', {
ref: 'Book',
localField: '_id',
foreignField: 'author'
});
await Author.findById(id).populate('books');
Cas d'usage
Creer une relation one-to-many sans tableau de references dans le parent, evitant les documents trop gros.