Contagem de documentos
Nesta página
Visão geral
Neste guia, você pode aprender como recuperar contagens precisas e estimadas do número de documentos em uma coleção.
Dados de amostra
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( val id: ObjectId, val title: String )
Recuperar uma contagem precisa
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 .
Contagem de todos os documentos
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
Contagem de documentos específicos
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
Personalizar comportamento de contagem
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)
Recuperar uma contagem estimada
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
Personalizar comportamento de contagem estimada
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)
Documentação da API
Para saber mais sobre qualquer um dos métodos ou tipos discutidos neste guia, consulte a seguinte documentação da API: