MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

So gruppieren Sie Daten mit Mongo-Template

  • $match Ihre Konditionen
  • $group nach Klasse und erstellen Sie ein Array von Stammdokumenten in values ,
  • erforderliche Felder definieren und durch Bedingung erstelltes Feld isObtained prüfen wenn sport ist Badminton dann wahr sonst falsch
db.students.aggregate([
  { $match: { school: "xyz" } },
  {
    $group: {
      _id: "$grade",
      values: {
        $push: {
          sport: "$sport",
          language: "$language",
          Hobbies: "$Hobbies",
          isObtained: {
            $cond: [{ $eq: ["$sport", "Badminton"] }, true, false]
          }
        }
      }
    }
  }
])

Spielplatz

Wenn Sie einen dynamischen Ansatz bevorzugen, versuchen Sie es mit $mergeObjects mit $$ROOT ,

Spielplatz