Menu Docs
Página inicial do Docs
/ / /
Driver de Kotlin Sync
/

Contagem de documentos

Nesta página

  • Visão geral
  • Dados de amostra
  • Recuperar uma contagem precisa
  • Contagem de todos os documentos
  • Contagem de documentos específicos
  • Personalizar comportamento de contagem
  • Recuperar uma contagem estimada
  • Personalizar comportamento de contagem estimada
  • Documentação da API

Neste guia, você pode aprender como recuperar contagens precisas e estimadas do número de documentos em uma coleção.

Os exemplos neste guia utilizam a coleção do movies no banco de dados de dados do sample_mflix a partir dos conjuntos de dados de amostra do Atlas. Para saber como criar um cluster MongoDB Atlas gratuito e carregar os conjuntos de dados de amostra, consulte o guia Iniciar com Atlas .

A seguinte classe de dados Kotlin modela os documentos nesta coleção:

data class Movie(
@BsonId
val id: ObjectId,
val title: String
)

Use o método countDocuments() para contar o número de documentos que estão em uma coleção. Para contar o número de documentos que correspondem aos critérios de pesquisa especificados, passe um filtro de query para o método countDocuments() .

Para saber mais sobre como especificar uma query, consulte Especificar uma query .

Para retornar uma contagem de todos os documentos na collection, chame o método countDocuments() sem argumentos, conforme mostrado no exemplo a seguir:

println(collection.countDocuments())
21349

Para retornar uma contagem de documentos que correspondam a critérios de pesquisa específicos, especifique sua query no método countDocuments() . O exemplo a seguir imprime uma contagem de todos os documentos na collection movies que têm um valor de campo year igual a 1930:

println(collection.countDocuments(eq("year", "1930")))
10

O método countDocuments() aceita parâmetros opcionais na forma de um objeto CountOptions , que representa opções que você pode utilizar para configurar a operação de contagem. Você pode definir essas opções instanciando um novo objeto CountOptions , definindo os campos do objeto usando os métodos correspondentes e passando para o método countDocuments() . Se você não especificar nenhuma opção, o driver não personalizará a operação de contagem.

A tabela a seguir descreve as opções que você pode definir para personalizar countDocuments():

Opção
Descrição
comment
Specifies a comment to attach to the operation.
skip
Sets the number of documents to skip before returning results.
limit
Sets the maximum number of documents to count. Must be a positive integer.
maxTime
Sets the maximum amount of time to allow the operation to run, in milliseconds.
collation
Specifies the kind of language collation to use when sorting results. For more information, see Collation in the MongoDB Server manual.
hint
Sets the index to scan for documents.

O exemplo a seguir utiliza um objeto CountOptions para adicionar um comentário à operação countDocuments() :

val options = CountOptions().comment("Retrieving count")
collection.countDocuments(Filters.empty(), options)

Use o método estimatedDocumentCount() para recuperar uma estimativa do número de documentos em uma coleção. O método estima a quantidade de documentos com base nos metadados da collection, o que pode ser mais rápido do que realizar uma contagem precisa.

O exemplo a seguir imprime o número estimado de documentos em uma collection:

print(collection.estimatedDocumentCount())
21349

O método estimatedDocumentCount() aceita parâmetros opcionais na forma de um objeto EstimatedDocumentCountOptions , que representa opções que você pode utilizar para configurar a operação de contagem. Você pode definir essas opções instanciando um novo objeto EstimatedDocumentCountOptions , definindo os campos do objeto usando os métodos correspondentes e passando para o método estimatedDocumentCount() . Se você não especificar nenhuma opção, o driver não personalizará a operação de contagem.

A tabela a seguir descreve as opções que você pode definir para personalizar estimatedDocumentCount():

Opção
Descrição
comment
Specifies a comment to attach to the operation.
maxTime
Specifies the maximum amount of time to allow the operation to run, in milliseconds.

O exemplo a seguir utiliza um objeto EstimatedDocumentCountOptions para adicionar um comentário à operação estimatedDocumentCount() :

val options = EstimatedDocumentCountOptions().comment("Retrieving count")
collection.estimatedDocumentCount(options)

Para saber mais sobre qualquer um dos métodos ou tipos discutidos neste guia, consulte a seguinte documentação da API:

Voltar

Especifique documentos a serem devolvidos