$lookup

MongoDB 🟡 Mid

Definition

Stage d'aggregation qui realise une jointure gauche (LEFT JOIN) entre deux collections. Ajoute un tableau de documents correspondants depuis la collection jointe.

Analogie

Appeler le service comptabilite pour joindre les factures de chaque client a leur fiche.

Exemple de code

{ $lookup: {
  from: 'orders',
  localField: '_id',
  foreignField: 'userId',
  as: 'userOrders'
}}

Cas d'usage

Combiner des donnees de collections separees quand l'embedding n'est pas adapte.

Anti-pattern

Faire des $lookup sur des collections non indexees sur le foreignField, rendant la jointure O(n*m).
#sgbd#interview#database#mongodb