U heeft in dit geval twee groepen nodig. De eerste groep genereert een stroom documenten met één document per term en categorie:
{ $group : {
_id : {
category: "$category",
term: "$term",
},
total: { $sum : 1 }
}
}
Een tweede groep zal dan alle documenten met dezelfde term samenvoegen tot één, met behulp van de $push operator om de categorieën samen te voegen tot een array:
{ $group : {
_id : "$_id.category",
terms: {
$push: {
term:"$_id.term",
total:"$total"
}
}
}
}