Resumen

Agregación es el procesamiento de los resultados obtenidos en una consulta para realizar ciertos cálculos basados en la agrupación de documentos en base a un criterio específico.

Aggregation pipeline
Es la manera más sencilla de realizar operaciones de agregación mediante el uso de la función
db..aggregate().

Las agregaciones en MongoDB se realizan en dos fases:

  • $match stage: en esta etapa se proporcionan los filtros o las condiciones que dan forma a los resultados de la consulta sobre la cual se aplicarán los cálculos.
  • $group stage: es el segundo paso en el proceso de agregación, en el que se indican los campos por los que se hará la agrupación de los datos y cómo se almacenarán los resultados de los cálculos, que pueden ser: $sum (sumatoria), $avg (promedio), $first (primer valor), $last(último valor), entre otros.

Más información en la documentación oficial.

Hay dos formas adicionales de realizar procesos de agregación y son:

  • db..mapReduce(): es una función que permite a MongoDB iterar sobre un cursor e ir reduciendo el número de elementos, en base a una función que se suministra como parámetro. Similar a la forma en que trabaja el método reduce() en los arreglos de JavaScript.

  • db..distinct(“”): es una función que extrae los valores únicos dada una propiedad específico en los documentos de una colección.