MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

Come raggruppare i dati usando il modello mongo

  • $match le tue condizioni
  • $group per grado e crea una matrice di documenti radice in values ,
  • definisci i campi obbligatori e verifica la condizione creata nel campo isObtained se sport è Badminton allora vero altrimenti falso
db.students.aggregate([
  { $match: { school: "xyz" } },
  {
    $group: {
      _id: "$grade",
      values: {
        $push: {
          sport: "$sport",
          language: "$language",
          Hobbies: "$Hobbies",
          isObtained: {
            $cond: [{ $eq: ["$sport", "Badminton"] }, true, false]
          }
        }
      }
    }
  }
])

Parco giochi

Se vuoi adottare un approccio dinamico, prova $mergeObjects con $$ROOT ,

Parco giochi