Las pipelines de agregación transforman los documentos en un conjunto agregado de resultados. En Atlas Charts, los pipelines de agregación se usan comúnmente para visualizar nuevos campos creados a partir de resultados calculados de campos preexistentes, pero también tienen muchas otras aplicaciones.
Para crear un pipeline de agregación:
En el Query bar, introduce un pipeline de agregación. Su pipeline debe estar entre corchetes.
(Opcional) Selecciona Format para organizar la query como sigue:
Divida la query en varias líneas
Indenta la query según las convenciones de JSON
(Condicional) Si seleccionó la opción Format, haz clic en Close cuando termines.
Haga clic en Apply para ejecutar su pipeline.
Ejemplo
El siguiente gráfica muestra los importes totales de ventas de una empresa de suministros de oficina, categorizados por ubicación de la tienda. La gráfica utiliza el siguiente pipeline de agregación en la barra Query:
[ { $unwind: "$items" }, { $addFields: { saleAmount: { $multiply: [ "$items.price", "$items.quantity" ] } } } ]
Esta pipeline de agregación procesa los datos de la colección utilizando el siguiente orden:
La La etapa
$unwinddesenvuelve el arregloitemsy genera un nuevo documento por cada elemento del arreglo. Cada elemento del arregloitemscontiene un elemento vendido durante una transacción.La
$addFieldsetapa agrega un nuevo campo a los documentos llamadosaleAmount. La expresión$multiplyestablece que el valor desaleAmountse asigna como el producto deitems.priceyitems.quantity. Puedes ver este nuevo campo resaltado en la siguiente captura de pantalla:

Una vez que los datos han sido procesados usando la pipeline, la gráfica muestra el Sum de todos saleAmounts categorizados por ubicación de tienda.
Abordar errores de la pipeline de agregación.
Si tu agregación no es válida, Charts muestra el ícono en la barra Query.
Haz clic en la barra Query si no se muestra ya para ver los detalles del error. Charts muestra detalles del error para:
Errores del lado del cliente, como JSON mal formados, y
Errores del lado del servidor, como no válidos MQL o etapas de pipeline no soportadas.

Revisa los detalles del error, y ajusta adecuadamente la pipeline de agregación.
Limitaciones
Charts no admiten el operador
$lookupen las consultas de agregación. Sin embargo, puedes usar este operador en los pipelines de fuente de datos. Para aprender más sobre cómo utilizar pipelines para preprocesar datos antes de que lleguen al constructor de gráficas, consulta Crear y gestionar vistas de Charts.Charts admiten el operador
$functionsolo cuando se define el cuerpo de la función en una sola línea y se encierra entre comillas double. Para utilizar este operador en tus consultas de agregación, debes usar la siguiente sintaxis:{ $function: { body: "function(arg1, arg2, ...) { ... }", args: <array expression>, lang: "js" } }