Os pipelines de agregação transformam seus documentos em um conjunto agregado de resultados. No Atlas Charts, pipelines de agregação são comumente usados para visualizar novos campos criados a partir de resultados calculados de campos pré-existentes, mas também têm muitas outras aplicações.
Para criar um pipeline de agregação:
Na barra Query, insira um pipeline de agregação. Seu pipeline deve estar entre colchetes.
(Opcional) Selecione Format para organizar a consulta da seguinte maneira:
Dividir a consulta em várias linhas
Recue a consulta de acordo com as convenções JSON
(Condicional) Se você selecionou a opção Format, clique em Close quando terminar.
Clique em Apply para executar seu pipeline.
Exemplo
O gráfico a seguir mostra os valores totais de venda de uma empresa de suprimentos de escritório, categorizados pelo local da loja. O gráfico utiliza o seguinte pipeline de agregação na barra Query:
[ { $unwind: "$items" }, { $addFields: { saleAmount: { $multiply: [ "$items.price", "$items.quantity" ] } } } ]
Esse pipeline de agregação processa os dados de coleta usando o seguinte pedido:
O estágio
$unwinddesenrola a arrayitemse gera um novo documento para cada item da array. Cada elemento na matrizitemscontém um único item vendido durante uma transação.O estágio
$addFieldsadiciona um novo campo aos documentos chamadosaleAmount. A expressão$multiplydefine o valor desaleAmountpara o produto deitems.priceeitems.quantity. Você pode ver este novo campo destacado na seguinte captura de tela:

Após os dados serem processados utilizando o pipeline, o gráfico exibe o Sum de todas as saleAmounts categorizadas por local da loja.
Erros de pipeline de agregação de endereço
Se sua agregação for inválida, os gráficos exibirão o ícone na barra Query.
Clique na barra Query se ela ainda não estiver exibida para visualizar os detalhes de erro. O Charts exibe detalhes de erro para:
Erros do lado do cliente, como JSON malformado, e
Erros do lado do servidor, como MQL inválido ou estágios de pipeline não suportados.

Analise os detalhes do erro e ajuste seu funil de agregação de acordo.
Limitações
Os Charts não suportam o operador
$lookupem queries de agregação . No entanto, você pode usar esse operador em pipelines de fonte de dados. Para saber mais sobre como usar pipelines para pré-processar dados antes que eles cheguem ao Construtor de Gráficos, consulte Criar e gerenciar Visualização de Charts .Os Charts suportam o operador
$functionsomente quando você define o corpo da função em uma única linha e o envolve em aspas double . Para usar esse operador em suas queries de agregação , você deve usar a seguinte sintaxe:{ $function: { body: "function(arg1, arg2, ...) { ... }", args: <array expression>, lang: "js" } }