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 una canalización de agregación:
En el Query Barra, introduzca una canalización de agregación. La canalización 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áfico muestra el total de ventas de una empresa de suministros de oficina, clasificado por ubicación de tienda. El gráfico utiliza la siguiente secuencia de agregación en la barra Query:
[ { $unwind: "$items" }, { $addFields: { saleAmount: { $multiply: [ "$items.price", "$items.quantity" ] } } } ]
Esta canalización de agregación procesa los datos de recopilació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 por ejemplo, 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 admite el operador solo cuando se define el cuerpo de la función en una sola línea y se encierra entre comillas dobles. Para usar este operador en las consultas de agregación, se debe usar la siguiente
$functionsintaxis:{ $function: { body: "function(arg1, arg2, ...) { ... }", args: <array expression>, lang: "js" } }