Nos métodos db.collection.aggregate() e db.aggregate(), os estágios de pipeline aparecem em uma array. Os documentos passam pelas etapas em sequência. Na interface do usuário do Atlas, organize estágios de pipeline com o construtor de pipeline de agregação.
db.collection.aggregate() Stages
Todas as etapas, exceto as fases $out, $merge, $geoNear, $changeStream e $changeStreamSplitLargeEvent, podem aparecer várias vezes em um pipeline.
Observação
Para obter detalhes sobre um comando específico, incluindo sintaxe e exemplos, clique no link para a página de referência do comando.
db.collection.aggregate( [ { <stage> }, ... ] )
Estágios centrais
Estágios que filtram, remodelam, agrupam e combinam documentos no agregação pipeline.
Estágio | Descrição |
|---|---|
Adiciona novos campos aos documentos. Semelhante ao
| |
Categoriza documentos recebidos em grupos, chamados blocos, com base em uma expressão especificada e limites de blocos. | |
Categoriza documentos recebidos em um número específico de grupos, chamados blocos, com base em uma expressão especificada. Os limites dos compartimentos são determinados automaticamente em uma tentativa de distribuir uniformemente os documentos no número especificado de compartimentos. | |
Retorna uma contagem do número de documentos nesta etapa do pipeline de agregação. Distinto do acumulador de agregação do | |
Cria novos documentos em uma sequência de documentos onde determinados valores em um campo estão faltando. | |
Retorna documentos literais de expressões de entrada. | |
Processa vários aggregation pipelines em um único estágio no mesmo conjunto de documentos de entrada. Permite a criação de agregações multifacetadas capazes de caracterizar dados em várias dimensões, ou facets, em um único estágio. | |
Preenche | |
Executa uma pesquisa recursiva em uma coleção. Para cada documento de saída, adiciona um novo campo de matriz que contém resultados transversais da busca recursiva por esse documento. | |
Agrupa documentos de entrada por uma expressão de identificador especificada e aplica a(s) expressão(ões) acumuladora(s), se especificada(s), para cada grupo. Consome todos os documentos de entrada e gera um documento por cada grupo distinto. Os documentos de saída só contêm o campo identificador e, se especificado, campos acumulados. | |
Passa os primeiros n documentos não modificados para o pipeline onde n é o limite especificado. Para cada documento de entrada, gera um documento (para os primeiros n documentos) ou zero documentos (após os primeiros n documentos). | |
Executa uma junção externa esquerda a outra collection ou visualização no mesmo banco de dados para filtrar documentos da collection "associada" ou visualização para processamento. | |
Filtra o fluxo de documentos para permitir que apenas documentos correspondentes passem sem modificações para o próximo estágio do pipeline. O | |
Escreve os documentos resultantes do aggregation pipeline em uma coleção. O estágio pode incorporar (inserir novos documentos, mesclar documentos, substituir documentos, manter documentos existentes, falhar na operação, processar documentos com um pipeline de atualização personalizado) os resultados em uma coleção de saída. Para usar o estágio | |
Escreve os documentos resultantes do aggregation pipeline em uma coleção. Para usar o estágio | |
Remodela cada documento no fluxo, adicionando novos campos ou removendo campos existentes. Para cada documento de entrada, gera um documento. Consulte também | |
Remodela cada documento no fluxo restringindo o conteúdo de cada documento com base nas informações armazenadas nos próprios documentos. Incorpora a funcionalidade do | |
Substitui um documento pelo documento incorporado especificado. A operação substitui todos os campos existentes no documento de entrada, incluindo o campo
| |
Substitui um documento pelo documento incorporado especificado. A operação substitui todos os campos existentes no documento de entrada, incluindo o campo
| |
Seleciona aleatoriamente o número especificado de documentos de sua entrada. | |
Adiciona novos campos aos documentos. Semelhante ao
| |
Agrupa documentos em janelas e aplica um ou mais operadores aos documentos em cada janela. Novidade na versão 5.0. | |
Ignora os primeiros n documentos, em que n é o número de pulos especificado, e passa os documentos restantes sem modificações para o pipeline. Para cada documento de entrada, produz zero documentos (para os primeiros n documentos) ou um documento (se após os primeiros n documentos). | |
Reordena o fluxo de documentos por uma chave de classificação especificada. Apenas a ordem muda; os documentos permanecem inalterados. Para cada documento de entrada, gera um documento. | |
Agrupa documentos recebidos com base no valor de uma expressão especificada e, em seguida, calcula a contagem de documentos em cada grupo distinto. | |
Realiza uma união de duas collections; ou seja, combina os resultados do pipeline de duas collections ou visualizações em um único conjunto de resultados. | |
Desconstrói um campo de array a partir dos documentos de entrada para gerar um documento para cada elemento. Cada documento de saída substitui a array por um valor de elemento. Para cada documento de entrada, produz n documentos onde n é o número de elementos de array e pode ser zero para uma array vazia. |
Extensões de idioma
Estágios que estendem a linguagem de agregação com recursos especializados, como Atlas Search e change streams.
Estágio | Descrição |
|---|---|
Retorna um cursor Alterar coluna para a coleção. Esse estágio só pode ocorrer uma vez em um pipeline de agregação e deve ocorrer como o primeiro estágio. | |
Divide change stream grandes que excedem 16 MB em fragmentos menores retornados em um cursor de change stream de alterações. Você só pode usar | |
Combina os resultados de pipelines de entrada que classificam documentos. | |
Realiza uma procurar de texto completo do campo ou campos em uma coleção. Para saber mais, consulte Estágios de aggregation pipeline do MongoDB Search. | |
Retorna diferentes tipos de documentos de resultado de metadados para a query de pesquisa do MongoDB Search em relação a uma coleção do Atlas. Para saber mais, consulte Estágios de aggregation pipeline do MongoDB Search. | |
Executa uma procurar ANN ou ENN em um vetor no campo especificado de uma collection do Atlas .
Novidades na versão 7.0.2. |
Fontes de metadados
Estágios que retornam metadados sobre o sistema, como estatísticas de collection, informações de índice e operações ativas.
Estágio | Descrição |
|---|---|
Retorna estatísticas sobre uma coleção ou visualização. | |
Retorna informações sobre operações ativas e/ou dormentes para a implementação do MongoDB. Uses the | |
Retorna estatísticas sobre o uso de cada índice para a coleção. | |
Recupera informações para collections em um cluster, incluindo nomes e opções de criação. | |
Lista todas as sessões ativas recentemente em uso na Uses the | |
Lista queries de amostra para todas as collections ou para uma collection específica. | |
Retorna informações sobre índices de pesquisa MongoDB existentes em uma coleção ou visualização especificada. | |
Lista todas as sessões que estão ativas há muito tempo para propagar para a coleção | |
Retorna informações de cache do plano para uma coleção. | |
Retorna as configurações de query adicionadas anteriormente com Novidades na versão 8.0. | |
Retorna estatísticas de tempo de execução para query registradas. AVISO: o | |
Retorna informações sobre a distribuição de dados em coleções fragmentadas. Uses the Novidades na versão 6.0.3. |
Para saber mais sobre expressões que você pode usar em estágios de pipeline, consulte Expressões.
Estágios disponíveis para atualizações
Use o pipeline de agregação para atualizações em:
Comando | mongosh Métodos |
|---|---|
Para atualizações, o pipeline oferece suporte a estes estágios:
$addFieldse seu alias$set$replaceRoote seu alias$replaceWith