MongoDB provides the three approaches to aggregation,
each with its own strengths and purposes for a given situation. This
section describes these approaches and also describes behaviors and
limitations specific to each approach. See also the chart that compares the
- Aggregation Pipeline
- The aggregation pipeline is a framework for performing aggregation
tasks, modeled on the concept of data processing pipelines. Using
this framework, MongoDB passes the documents of a single collection
through a pipeline. The pipeline transforms the documents into
aggregated results, and is accessed through the
aggregate database command.
- Map-reduce is a generic multi-phase data aggregation modality for
processing quantities of data. MongoDB provides map-reduce with the
mapReduce database command.
- Single Purpose Aggregation Operations
- MongoDB provides a collection of specific data aggregation
operations to support a number of common data aggregation
functions. These operations include returning counts of documents,
distinct values of a field, and simple grouping operations.
- Aggregation Mechanics
- Details internal optimization operations, limits, support for sharded
collections, and concurrency concerns.