मैंने व्यक्तिगत रूप से पाया कि बड़े डेटाबेस (1TB और अधिक) पर स्वीकृत उत्तर बहुत धीमा है। एकत्रीकरण बहुत तेज है। उदाहरण नीचे है:
db.places.aggregate(
{ $group : {_id : "$extra_info.id", total : { $sum : 1 } } },
{ $match : { total : { $gte : 2 } } },
{ $sort : {total : -1} },
{ $limit : 5 }
);
यह उन दस्तावेज़ों को खोजता है जिनके extra_info.id
दो बार या अधिक बार उपयोग किया जाता है, परिणामों को दिए गए फ़ील्ड के अवरोही क्रम में क्रमबद्ध करता है और इसके पहले 5 मानों को प्रिंट करता है।