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 la barra Query, introduce un pipeline de agregación. Tu 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 etapa
$unwinddesenrolla el arregloitemsy genera un nuevo documento para cada elemento del arreglo. Cada elemento del arregloitemscontiene un solo artículo 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 MQL inválidos o etapas de pipeline no admitidas.

Revisa los detalles del error, y ajusta adecuadamente la pipeline de agregación.
Limitaciones
Charts no admite el operador
$lookupen consultas de agregación. Sin embargo, puede utilizar este operador en los pipelines de Fuente de datos. Para obtener más información sobre cómo usar los pipelines para preprocesar datos antes de que lleguen al constructor de gráficas, consulta Crear y gestionar vistas de gráficos.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" } }