In the previous recipe, we saw how to execute aggregation operations in Mongo using the Java client. In this recipe, we will work on the same use case as we did for the aggregation operation, but using MapReduce. The intent is to aggregate the data based on the state names and get the top five state names by the number of documents they appear in.
If you are not aware of how to write MapReduce code for Mongo from a programming language client and are seeing it for the first time, you might be surprised to see how it is actually done. You might have imagined that you will be writing the map
and reduce
functions in the programming language in which you are writing the code, Java in this case, and then using it to execute MapReduce. However, you need to bear in mind that MapReduce jobs run on the Mongo servers, and they execute JavaScript functions. Hence, irrespective of the programming language driver, the MapReduce functions are written in JavaScript...