De belangrijkste reden om MapReduce te gebruiken in plaats van eenvoudigere of meer traditionele zoekopdrachten, is dat het gewoon dingen kan doen (d.w.z. aggregatie) die eenvoudige zoekopdrachten niet kunnen.
Zodra u aggregatie nodig heeft, zijn er twee opties met MongoDB:MapReduce en de groepsopdracht. Het group-commando is analoog aan SQL's "group by" en is beperkt in die zin dat het al zijn resultaten moet retourneren in een enkele databaserespons. Dat betekent dat groep alleen kan worden gebruikt als u minder dan 4 MB aan resultaten heeft. MapReduce daarentegen kan alles wat een "groeperen op" kan, maar voert resultaten uit naar een nieuwe verzameling, zodat de resultaten zo groot kunnen zijn als nodig is.
Er komt ook parallellisme, dus het is goed om wat te oefenen :)