Aggregation Pipeline

MongoDB 🟡 Mid

Definition

Framework de transformation de donnees ou les documents passent par une sequence d'etapes (stages). Chaque stage transforme les documents et les passe au suivant, comme un pipeline Unix.

Analogie

Une chaine de montage en usine : chaque poste (stage) effectue une operation sur la piece avant de la passer au suivant.

Exemple de code

db.orders.aggregate([
  { $match: { status: 'completed' } },
  { $group: {
    _id: '$customerId',
    total: { $sum: '$amount' }
  }},
  { $sort: { total: -1 } }
]);

Cas d'usage

Calculer des statistiques, generer des rapports ou transformer des donnees complexes directement dans MongoDB.

Anti-pattern

Mettre un $match apres un $group non filtre, traitant des millions de documents inutilement.
#sgbd#interview#database#mongodb