Virtual Populate
Mongoose 🔴 SeniorDéfinition
Permet de populer une relation sans stocker de référence 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
Créer une relation one-to-many sans tableau de références dans le parent, évitant les documents trop gros.