Menu Docs

Página inicial do DocsVisualizar & analisar dadosAtlas Charts

Execute aggregation pipelines em seus dados

Nesta página

  • Exemplo
  • Erros de pipeline de agregação de endereço
  • Limitações

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:

  1. Na barra Query, insira um pipeline de agregação. Seu pipeline deve estar entre colchetes.

  2. (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

  3. (Condicional) Se você selecionou a opção Format, clique em Close quando terminar.

  4. Clique em Apply para executar seu pipeline.

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:

  1. O estágio $unwind desenrola a array items e gera um novo documento para cada item na array. Cada elemento na array items contém um único item vendido durante uma transação.

  2. O estágio $addFields adiciona um novo campo aos documentos chamado saleAmount. A expressão $multiply define o valor de saleAmount para o produto de items.price e items.quantity. Você pode ver este novo campo destacado na seguinte captura de tela:

Exemplo de aggregation pipeline
clique para ampliar

Após os dados serem processados utilizando o pipeline, o gráfico exibe o Sum de todas as saleAmounts categorizadas por local da loja.

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.

Exemplo de erro de pipeline de agregação
clique para ampliar

Analise os detalhes do erro e ajuste seu funil de agregação de acordo.

  • Os gráficos não suportam o operador $lookup em 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 Gráficos.

  • Os gráficos suportam o operador $function somente quando você define o corpo da função em uma única linha e o envolve em aspas duplas. 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"
    }
    }
←  Adicionar um campo de pesquisaSalvar e reutilizar queries →