Aggregation Pipeline
MongoDB 🟡 MidDefinition
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.