sql >> Databasteknik >  >> NoSQL >> MongoDB

Hur man grupperar data med mongo-mall

  • $match dina villkor
  • $group efter klass och skapa en array av rotdokument i values ,
  • definiera obligatoriska fält och kontrollera villkor skapat fält isObtained om sport är Badminton sedan sant annars falskt
db.students.aggregate([
  { $match: { school: "xyz" } },
  {
    $group: {
      _id: "$grade",
      values: {
        $push: {
          sport: "$sport",
          language: "$language",
          Hobbies: "$Hobbies",
          isObtained: {
            $cond: [{ $eq: ["$sport", "Badminton"] }, true, false]
          }
        }
      }
    }
  }
])

Lekplats

Om du vill gå med ett dynamiskt tillvägagångssätt, försök med $mergeObjects med $$ROOT ,

Lekplats




  1. Fråga MongoDB från webbläsaren med en kolvbackend

  2. Hur tillämpar man villkor på $lookup-resultat i mongoDB?

  3. Mongoose - hitta det sista meddelandet från varje användare

  4. Begränsningar för Hadoop, sätt att lösa Hadoop-nackdelar