Това е късен отговор, но от $group в Mongo от версия 4.0 все още няма да използва индекси, може да е полезно за други.
За да ускорите значително агрегирането си, извършете $sort преди $group .
Така че вашата заявка ще бъде:
db.ads_view.aggregate({$sort:{"campaign":1}},{$group: {_id : "$campaign", "action" : {$sum: 1} }});
Това предполага индекс на campaign , който трябваше да бъде създаден според вашия въпрос. В Mongo 4.0 създайте индекса с db.ads_view.createIndex({campaign:1}) .
Тествах това в колекция, съдържаща 5,5+ милиона. документи. Без $sort , агрегацията не би приключила дори след няколко часа; с $sort предхождащ $group , агрегирането отнема няколко секунди.