これは遅い答えですが、$group以降 バージョン4.0以降のMongoでは、まだインデックスを使用していません。他の人に役立つ可能性があります。
集計を大幅に高速化するには、$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以上のMioを含むコレクションでこれをテストしました。ドキュメント。 $sortなし 、数時間経っても集計は終了しませんでした。 $sortを使用 先行する$group 、集計には数秒かかります。