Osobně jsem zjistil, že na velkých databázích (1TB a více) je přijímaná odpověď strašně pomalá. Agregace je mnohem rychlejší. Příklad je níže:
db.places.aggregate(
{ $group : {_id : "$extra_info.id", total : { $sum : 1 } } },
{ $match : { total : { $gte : 2 } } },
{ $sort : {total : -1} },
{ $limit : 5 }
);
Vyhledává dokumenty, jejichž extra_info.id
je použit dvakrát nebo vícekrát, seřadí výsledky v sestupném pořadí daného pole a vypíše prvních 5 jeho hodnot.