Using MapReduce with MongoDB
MongoDB provides us with a MapReduce command, and in the following diagram we can observe the life cycle of the MapReduce process in MongoDB. We start with a Collection or a Query; each document in the collection will call the map function. Then, with the emit function, we will create an intermediate hash-map (see the following diagram) with a list of pairs (key-value).
Next, the reduce function will iterate the intermediate hash-map and will apply some operations to all values of each key. Finally, the process will create a brand new collection with the output. The map/reduce functions in MongoDB will be programmed with JavaScript:

Tip
Find the reference documentation for MapReduce with MongoDB from the following link:
Map function
The map function will call the emit function one or more times (see the previous diagram). We can access all the attributes of each document in the collection with the this keyword. The...