Alasan utama untuk menggunakan MapReduce daripada kueri yang lebih sederhana atau lebih tradisional adalah karena MapReduce dapat melakukan hal-hal (yaitu, agregasi) yang tidak dapat dilakukan oleh kueri sederhana.
Setelah Anda membutuhkan agregasi, ada dua opsi menggunakan MongoDB:MapReduce dan perintah grup. Perintah grup analog dengan "grup oleh" SQL dan terbatas karena harus mengembalikan semua hasilnya dalam satu respons basis data. Itu berarti grup hanya dapat digunakan ketika Anda memiliki hasil kurang dari 4MB. MapReduce, di sisi lain, dapat melakukan apa saja yang dapat dilakukan oleh "kelompok oleh", tetapi mengeluarkan hasil ke koleksi baru sehingga hasilnya bisa sebesar yang dibutuhkan.
Juga, paralelisme akan datang, jadi ada baiknya untuk berlatih :)