Overview
En esta guía, puede aprender cómo recuperar recuentos precisos y estimados de la cantidad de documentos en una colección.
Datos de muestra
Los ejemplos de esta guía utilizan el movies colección en la base de datos sample_mflix de la Conjuntos de datos de muestra de Atlas. Para aprender a crear una implementación gratuita de MongoDB y cargar los conjuntos de datos de muestra, consulte la guía de introducción a MongoDB.
La siguiente clase de datos de Kotlin modela los documentos de esta colección:
data class Movie( val id: ObjectId, val title: String )
Recupere un recuento preciso
Utilice el método countDocuments() para contar el número de documentos de una colección. Para contar el número de documentos que coinciden con los criterios de búsqueda especificados, pase un filtro de consulta al método countDocuments().
Para obtener más información sobre cómo especificar una consulta, consulte Especifique una consulta.
Contar todos los documentos
Para devolver un recuento de todos los documentos de la colección, llame al método countDocuments() sin argumentos, como se muestra en el siguiente ejemplo:
println(collection.countDocuments())
21349
Documentos específicos del recuento
Para obtener un recuento de documentos que coinciden con criterios de búsqueda específicos, especifique su consulta en el método countDocuments(). El siguiente ejemplo imprime un recuento de todos los documentos de la colección movies cuyo valor de campo year sea 1930:
println(collection.countDocuments(eq("year", "1930")))
10
Personalizar el comportamiento del conteo
El método countDocuments() acepta parámetros opcionales en forma de un objeto CountOptions, que representa opciones que se pueden usar para configurar la operación de conteo. Puede configurar estas opciones instanciando un nuevo objeto CountOptions, configurando sus campos con los métodos correspondientes y pasándolo al método countDocuments(). Si no especifica ninguna opción, el controlador no personaliza la operación de conteo.
La siguiente tabla describe las opciones que puedes configurar para personalizar countDocuments():
Opción | Descripción |
|---|---|
| Specifies a comment to attach to the operation. |
| Sets the number of documents to skip before returning results. |
| Sets the maximum number of documents to count. Must be a positive integer. |
| Specifies the kind of language collation to use when sorting
results. For more information, see Collation
in the MongoDB Server manual. |
| Sets the index to scan for documents. |
El siguiente ejemplo utiliza un objeto CountOptions para agregar un comentario a la operación countDocuments():
val options = CountOptions().comment("Retrieving count") collection.countDocuments(Filters.empty(), options)
Recuperar un recuento estimado
Utilice el método estimatedDocumentCount() para obtener una estimación del número de documentos de una colección. Este método calcula la cantidad de documentos basándose en los metadatos de la colección, lo que puede ser más rápido que realizar un recuento preciso.
El siguiente ejemplo imprime el número estimado de documentos en una colección:
print(collection.estimatedDocumentCount())
21349
Personalizar el comportamiento del recuento estimado
El método estimatedDocumentCount() acepta parámetros opcionales en forma de un objeto EstimatedDocumentCountOptions, que representa opciones que se pueden usar para configurar la operación de conteo. Puede configurar estas opciones instanciando un nuevo objeto EstimatedDocumentCountOptions, configurando sus campos con los métodos correspondientes y pasándolo al método estimatedDocumentCount(). Si no especifica ninguna opción, el controlador no personaliza la operación de conteo.
La siguiente tabla describe las opciones que puedes configurar para personalizar estimatedDocumentCount():
Opción | Descripción |
|---|---|
| Specifies a comment to attach to the operation. |
El siguiente ejemplo utiliza un objeto EstimatedDocumentCountOptions para agregar un comentario a la operación estimatedDocumentCount():
val options = EstimatedDocumentCountOptions().comment("Retrieving count") collection.estimatedDocumentCount(options)
Documentación de la API
Para aprender más sobre cualquiera de los métodos o tipos analizados en esta guía, consulta la siguiente documentación de API: