Jeg fandt personligt ud af, at det accepterede svar på store databaser (1 TB og mere) er frygtelig langsomt. Aggregation er meget hurtigere. Eksempel er nedenfor:
db.places.aggregate(
{ $group : {_id : "$extra_info.id", total : { $sum : 1 } } },
{ $match : { total : { $gte : 2 } } },
{ $sort : {total : -1} },
{ $limit : 5 }
);
Den søger efter dokumenter, hvis extra_info.id
bruges to gange eller flere gange, sorterer resultaterne i faldende rækkefølge af et givet felt og udskriver de første 5 værdier af det.