Den främsta anledningen till att använda MapReduce över enklare eller mer traditionella frågor är att den helt enkelt kan göra saker (d.v.s. aggregering) som enkla frågor inte kan.
När du behöver aggregering finns det två alternativ med MongoDB:MapReduce och gruppkommandot. Gruppkommandot är analogt med SQLs "grupp efter" och är begränsat genom att det måste returnera alla sina resultat i ett enda databassvar. Det innebär att grupp endast kan användas när du har mindre än 4 MB resultat. MapReduce, å andra sidan, kan göra vad som helst som en "grupp efter" kan, men skickar resultat till en ny samling så att resultaten kan bli så stora som behövs.
Dessutom kommer parallelliteten, så det är bra att träna lite :)