Toto je pozdní odpověď, ale od $group v Mongu od verze 4.0 stále nebude používat indexy, může to být užitečné pro ostatní.
Chcete-li výrazně urychlit agregaci, proveďte $sort před $group .
Takže váš dotaz by byl:
db.ads_view.aggregate({$sort:{"campaign":1}},{$group: {_id : "$campaign", "action" : {$sum: 1} }});
To předpokládá index v campaign , který měl být vytvořen podle vašeho dotazu. V Mongo 4.0 vytvořte index pomocí db.ads_view.createIndex({campaign:1}) .
Testoval jsem to na kolekci obsahující 5,5+ Mio. dokumenty. Bez $sort , agregace by nebyla dokončena ani po několika hodinách; pomocí $sort před $group , agregace trvá několik sekund.