Para agentes de IA: um índice de documentação está disponível em https://www.mongodb.com/pt-br/docs/llms.txt — as versões de markdown de todas as páginas estão disponíveis anexando .md a qualquer caminho de URL.
Menu Docs

$count (estágio de agregação )

$count

Passa um documento para a próxima etapa que contém uma contagem do número de documentos inseridos na etapa.

Observação

Desambiguação

Esta página descreve a fase do pipeline de agregação $count. Você também pode usar $count nestes outros contextos:

Você pode utilizar o $count para implantações hospedadas nos seguintes ambientes:

  • MongoDB Atlas: The fully managed service for MongoDB deployments in the cloud
  • MongoDB Enterprise: a versão autogerenciada e baseada em assinatura do MongoDB

  • MongoDB Community: uma versão com código disponível, de uso gratuito e autogerenciada do MongoDB

$count tem a seguinte sintaxe:

{ $count: <string> }

<string> é o nome do campo de saída que tem a contagem como seu valor. <string> deve ser uma string não vazia, não deve começar com $ e não deve conter o caractere ..

O tipo de retorno é representado pelo menor tipo que pode armazenar o valor final da contagem: integer → long → double

The $count stage is equivalent to the following $group and $project sequence:

db.collection.aggregate( [
{ $group: { _id: null, myCount: { $sum: 1 } } },
{ $project: { _id: 0 } }
] )

myCount é o campo de saída que armazena a contagem. Você pode especificar outro nome para o campo de saída.

Se o conjunto de dados de entrada estiver vazio, $count não retornará um resultado.

Dica

db.collection.countDocuments() encapsula o estágio de agregação $group com uma expressão $sum.

Os exemplos nesta página usam dados do conjunto de dados sample_mflix. Para obter detalhes sobre como carregar este conjunto de dados em sua implantação do MongoDB autogerenciado, consulte Carregar o conjunto de dados de amostra. Se você fez alguma modificação nos bancos de dados de amostra, talvez seja necessário descartar e recriar os bancos de dados para executar os exemplos nesta página.

A seguinte operação de agregação tem duas etapas:

  1. O estágio $match filtra documentos em que metacritic é igual a 100 para passar apenas esses documentos para o próximo estágio.

  2. O estágio $count retorna uma contagem dos documentos restantes no pipeline de agregação e atribui o valor a um campo chamado perfect_score_count.

db.movies.aggregate( [
{ $match: { metacritic: { $eq: 100 } } },
{ $count: "perfect_score_count" }
] )
[ { perfect_score_count: 8 } ]