1. Introduction aux Pipelines d'Agrégation

Concept :

Les pipelines d'agrégation MongoDB permettent de traiter des données via une séquence d'étapes (stages), transformant les documents en résultats agrégés. Chaque étape reçoit les documents de l'étape précédente et les modifie.

Structure :

db.collection.aggregate([
  { stage1 },
  { stage2 },
  ...
])

Étapes Fondamentales :

Exemple :

db.orders.aggregate([
  { $match: { status: "completed" } },
  { $project: { total: 1, customer: 1 } },
  { $sort: { total: -1 } },
  { $limit: 10 }
])


2. Opérateurs Avancés

a. $lookup (Jointures)

Usage : Jointure entre collections (équivalent SQL LEFT JOIN).

Syntaxe :

{
  $lookup: {
    from: "collection_cible",
    localField: "champ_local",
    foreignField: "champ_étranger",
    as: "champ_résultat"
  }
}

Exemple :

db.orders.aggregate([
  {
    $lookup: {
      from: "customers",
      localField: "customerId",
      foreignField: "_id",
      as: "customerDetails"
    }
  }
])