Основната причина да използвате MapReduce вместо по-прости или по-традиционни заявки е, че той просто може да прави неща (т.е. агрегиране), които обикновените заявки не могат.
След като имате нужда от агрегиране, има две опции за използване на MongoDB:MapReduce и командата group. Командата group е аналогична на SQL "group by" и е ограничена, тъй като трябва да върне всичките си резултати в единичен отговор на базата данни. Това означава, че групата може да се използва само когато имате по-малко от 4MB резултати. MapReduce, от друга страна, може да прави всичко, което "групиране по" може, но извежда резултатите в нова колекция, така че резултатите да бъдат толкова големи, колкото е необходимо.
Освен това паралелизмът идва, така че е добре да имате малко практика :)