Make the MongoDB docs better! We value your opinion. Share your feedback for a chance to win $100.
Click here >
Menu Docs
Página inicial do Docs
/ /

Pipeline de agregação

Um pipeline de agregação possui um ou mais estágios que processam documentos:

  • Cada estágio executa uma operação nos documentos de entrada. Por exemplo, um estágio pode filtrar documentos, agrupar documentos e calcular valores.

  • Os documentos vão de um estágio para outro.

  • Um aggregation pipeline pode retornar resultados para grupos de documentos. Por exemplo, retornar o valor total, médio, máximo e mínimo.

É possível atualizar documentos com um pipeline de agregação se você usar os estágios mostrados na página Atualizações com pipeline de agregação.

Observação

Você pode executar pipelines de agregação na IU para implantações hospedadas no MongoDB Atlas.

Ao executar aggregation pipeline em implantações do MongoDB Atlas na UI do MongoDB Atlas, você pode visualizar os resultados em cada estágio.

A seção Tutoriais completos do pipeline de agregação contém tutoriais passo a passo para tarefas comuns de agregação , com exemplos para o MongoDB Shell e cada um dos drivers oficiais do MongoDB .

Um aggregation pipeline possui um ou mais estágios que processam documentos:

  • Um estágio não precisa produzir um documento para cada documento de entrada. Algumas etapas produzem novos documentos ou filtram documentos.

  • O mesmo estágio pode aparecer várias vezes em um pipeline, exceto $out para, $merge $geoNeare.

Para todos os estágios de aggregation, consulte Estágios de aggregation.

Alguns estágios do pipeline de agregação aceitam expressões. Os operadores calculam valores com base em expressões de entrada.

Na MongoDB Query Language, você pode criar expressões a partir dos seguintes componentes:

Componente
Exemplo

Constantes

3

Operadores

Expressões de caminho de campo

"$<path.to.field>"

Por exemplo, { $add: [ 3, "$inventory.total" ] } é uma expressão que consiste no operador $add e dois operandos:

A expressão retorna o resultado da adição de 3 ao valor no caminho inventory.total do documento de entrada.

Expressões decaminho do campo acessam campos em documentos de entrada. Prefixe o nome do campo com um $ cifrão. Por exemplo, "$user" faz referência ao user campo e "$user.name" faz referência ao user.name campo incorporado.

"$<field>" é equivalente "$$CURRENT.<field>" a, onde é uma variável do sistema que padroniza para a raiz do objeto atual, a menos que um estágio especifique o CURRENT contrário.

Para mais exemplos, consulte Caminhos do campo.

Para executar um aggregation pipeline, use:

Para atualizar documentos com um pipeline de agregação, use:

Para limites de tipos de valor e tamanho do resultado, consulte Limites de aggregation pipeline.

Os pipelines de agregação suportam operações em coleções compartilhadas. Consulte Pipeline de aggregation e collections fragmentadas.

A partir do MongoDB 5.0, map-reduce está obsoleto:

  • Em vez de map-reduce, você deve usar um pipeline de agregação. Os pipelines de agregação fornecem melhor desempenho e usabilidade do que o map-reduce.

  • Você pode reescrever operações de map-reduce utilizando aggregation pipeline stages, como $group, $merge e outros.

  • Nas operações de map-reduce que exigem funcionalidade personalizada, você pode usar os operadores de agregação $accumulator e $function. Você pode usar esses operadores para definir expressões de agregação personalizadas no JavaScript.

Para obter exemplos de alternativas de aggregation pipeline para map-reduce, consulte:

Para saber mais sobre pipelines de agregação, consulte:

Voltar

Operações de agregação

Receber um selo de habilidade

Domine "Os fundamentos da transformação de dados" gratuitamente!

Saiba mais

Nesta página