Du skal bruge to grupper i dette tilfælde. Den første gruppe genererer en strøm af dokumenter med ét dokument pr. term og kategori:
{ $group : {
_id : {
category: "$category",
term: "$term",
},
total: { $sum : 1 }
}
}
En anden gruppe vil derefter flette alle dokumenter med det samme udtryk til ét, ved at bruge $push-operatoren til at flette kategorierne til en matrix:
{ $group : {
_id : "$_id.category",
terms: {
$push: {
term:"$_id.term",
total:"$total"
}
}
}
}