MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Comment regrouper des données à l'aide de mongo-template

  • $match vos conditions
  • $group par grade et créer un tableau de documents racine dans values ,
  • définir les champs obligatoires et vérifier la condition créée champ isObtained si sport est Badminton alors vrai sinon faux
db.students.aggregate([
  { $match: { school: "xyz" } },
  {
    $group: {
      _id: "$grade",
      values: {
        $push: {
          sport: "$sport",
          language: "$language",
          Hobbies: "$Hobbies",
          isObtained: {
            $cond: [{ $eq: ["$sport", "Badminton"] }, true, false]
          }
        }
      }
    }
  }
])

Aire de jeux

Si vous souhaitez opter pour une approche dynamique, essayez $mergeObjects avec $$ROOT ,

Aire de jeux