Paradigme de traitement de données pour condenser de grands volumes de données en résultats agrégés utiles. En termes très simples , la commande MapReduce prend deux entrées primaires , la fonction de mappage et la fonction de réducteur .
Un Mapper débutera par la lecture d'une collection de données pour construire une map avec les champs que nous souhaitons traiter. Puis cette paire clé, valeur est introduite dans un réducteur , qui traitera les valeurs.
>db.collection.mapReduce(
function() {emit(key,value);}, //map function
function(key,values) {return reduceFunction}, //reduce function
{
out: collection,
query: document,
sort: document,
limit: number
}
)
Exemple:
Affichage du nombre des films en base mongo par genre:
>var map =function() {emit(this.genre,1);};
>var reduce = function(key, values) { return Array.sum(values)};
>var count = db.movies.mapReduce(map, reduce, {out: "movies_result"});
>db.movies_result.find();