यह देर से उत्तर है, लेकिन चूंकि $group
मोंगो में संस्करण 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+ Mio वाले संग्रह पर इसका परीक्षण किया। दस्तावेज। बिना $sort
. के , एकत्रीकरण कई घंटों के बाद भी समाप्त नहीं होता; $sort
. के साथ $group
. से आगे , एकत्रीकरण में कुछ सेकंड लग रहे हैं।