Hovedårsagen til at bruge MapReduce over simplere eller mere traditionelle forespørgsler er, at den simpelthen kan gøre ting (dvs. aggregering), som simple forespørgsler ikke kan.
Når du har brug for aggregering, er der to muligheder ved at bruge MongoDB:MapReduce og gruppekommandoen. Gruppekommandoen er analog med SQL's "gruppe efter" og er begrænset ved, at den skal returnere alle sine resultater i et enkelt databasesvar. Det betyder, at gruppe kun kan bruges, når du har mindre end 4 MB resultater. MapReduce, på den anden side, kan gøre alt, hvad en "gruppe efter" kan, men udsender resultater til en ny samling, så resultaterne kan blive så store som nødvendigt.
Der kommer også parallelisme, så det er godt med lidt øvelse :)