sql >> Base de Datos >  >> NoSQL >> MongoDB

Cómo agrupar datos usando mongo-template

  • $match tus condiciones
  • $group por grado y hacer una matriz de documentos raíz en values ,
  • defina los campos obligatorios y verifique el campo de condición creado isObtained si sport es Badminton entonces verdadero de lo contrario 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]
          }
        }
      }
    }
  }
])

Patio de juegos

Si desea optar por un enfoque dinámico, pruebe $mergeObjects con $$ROOT ,

Patio de juegos