Las canalizaciones de agregación transforman sus documentos en un conjunto de resultados agregados. En Atlas Charts, las canalizaciones de agregación se utilizan 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) Seleccione Format para organizar la consulta de la siguiente manera:
Dividir la consulta en varias líneas
Sangrar la consulta según las convenciones JSON
(Condicional) Si seleccionó la opción Format, haga clic en Close cuando termine.
Haga clic en Apply para ejecutar su canalización.
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:
El La etapa
$unwinddesenrolla la matrizitemsy genera un nuevo documento para cada artículo de la matriz. Cada elemento de la matrizitemscontiene un artículo vendido durante una transacción.La etapa añade un nuevo campo a los
$addFieldsdocumentossaleAmountllamado. La expresión establece el$multiplyvalorsaleAmountdeitems.pricecomo el producto deitems.quantityy. Puede ver este nuevo campo resaltado en la siguiente captura de pantalla:

Una vez procesados los datos mediante el pipeline, el gráfico muestra Sum de todos los saleAmounts categorizados por ubicación de la tienda.
Errores en la canalización de agregación de direcciones
Si su agregación no es válida, Charts muestra el ícono en la Query barra.
Haga clic en la barra Query si aún no se muestra para ver los detalles del error. Los gráficos muestran los detalles de los errores:
Errores del lado del cliente, como JSON mal formados, y
Errores del lado del servidor, como por ejemplo, MQL o etapas de canalización no compatibles.

Revise los detalles del error y luego ajuste su canal de agregación según corresponda.
Limitaciones
Los gráficos no admiten el operador en consultas de agregación. Sin embargo, puede usarlo en las canalizaciones de fuentes de datos. Para obtener más información sobre cómo usar las canalizaciones para preprocesar datos antes de que lleguen al Generador de gráficos,
$lookupconsulte Crear y administrar vistas de gráficos.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" } }