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

Verschachtelte MongoDB-Gruppe?

In diesem Fall benötigen Sie zwei Gruppen. Die erste Gruppe generiert einen Dokumentenstrom mit einem Dokument pro Begriff und Kategorie:

 { $group : { 
      _id :  { 
        category: "$category",
        term: "$term",
      },
      total: { $sum : 1 } 
   }
 }

Eine zweite Gruppe wird dann alle Dokumente mit demselben Begriff zu einem zusammenführen, indem sie den $push-Operator verwendet, um die Kategorien in einem Array zusammenzuführen:

 { $group : { 
      _id :  "$_id.category",
      terms: { 
          $push: { 
              term:"$_id.term",
              total:"$total"
          }
      }
   }
 }