Aggregation

Clase 18 de 31Curso de Mongo DB 2018

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.