Dit is een laat antwoord, maar sinds $group in Mongo vanaf versie 4.0 zal nog steeds geen gebruik worden gemaakt van indexen, het kan nuttig zijn voor anderen.
Voer een $sort . uit om uw aggregatie aanzienlijk te versnellen voor $group .
Dus uw vraag zou worden:
db.ads_view.aggregate({$sort:{"campaign":1}},{$group: {_id : "$campaign", "action" : {$sum: 1} }});
Dit veronderstelt een index op campaign , die op basis van uw vraag had moeten zijn gemaakt. Maak in Mongo 4.0 de index met db.ads_view.createIndex({campaign:1}) .
Ik heb dit getest op een verzameling van 5,5+ Mio. documenten. Zonder $sort , de aggregatie zou zelfs na enkele uren niet zijn voltooid; met $sort voorafgaand aan $group , aggregatie duurt een paar seconden.