$facet
MongoDB 🔴 SeniorDéfinition
Stage d'aggregation qui exécute plusieurs sous-pipelines en parallèle sur le même jeu de documents. Chaque sous-pipeline produit un résultat indépendant dans un seul document de sortie.
Analogie
Un journaliste qui écrit trois angles différents du même evenement en même temps.
Exemple de code
{ $facet: {
byCategory: [
{ $group: { _id: '$cat', n: { $sum: 1 } } }
],
priceStats: [
{ $group: { _id: null, avg: { $avg: '$price' } } }
],
total: [{ $count: 'count' }]
}}
Cas d'usage
Générer un dashboard avec des statistiques multiples en un seul appel a la base.