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"
}
}
}
}