Hlavním důvodem, proč používat MapReduce u jednodušších nebo tradičnějších dotazů, je to, že prostě umí věci (tj. agregaci), které jednoduché dotazy nedokážou.
Jakmile potřebujete agregaci, existují dvě možnosti použití MongoDB:MapReduce a příkaz group. Příkaz group je analogický s příkazem SQL „group by“ a je omezen v tom, že musí vrátit všechny své výsledky v jediné odpovědi databáze. To znamená, že skupinu lze použít pouze v případě, že máte méně než 4 MB výsledků. Na druhou stranu MapReduce může dělat cokoli, co může „seskupit podle“, ale výstupem výsledků je nová kolekce, takže výsledky mohou být tak velké, jak je potřeba.
Také přichází paralelismus, takže je dobré mít trochu praxe :)