Aggregation Pipeline as an Alternative to Map-Reduce
For map-reduce operations that require custom functionality, MongoDB
aggregation operators starting in version 4.4. Use these operators to
The map-reduce operation is composed of many tasks, including reads
from the input collection, executions of the
executions of the
reduce function, writes to a temporary collection
during processing, and writes to the output collection.
During the operation, map-reduce takes the following locks:
The read phase takes a read lock. It yields every 100 documents.
The insert into the temporary collection takes a write lock for a single write.
If the output collection does not exist, the creation of the output collection takes a write lock.
If the output collection exists, then the output actions (i.e.
reduce) take a write lock. This write lock is global, and blocks all operations on the