Virtual Populate

Mongoose 🔴 Senior

Dé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.

#sgbd#interview#database#mongoose

← → au clavier pour passer d'une fiche à l'autre