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 ejemplo, consulta la guía de MongoDB Get Started.
La siguiente clase de datos de Kotlin modela los documentos de esta colección:
data class Movie( val id: ObjectId, val title: String )
Recupera un recuento preciso
Utiliza el método countDocuments() para contar el número de documentos que hay en una colección. Para contar el número de documentos que coinciden con los criterios de búsqueda especificados, pasa un filtro de query al método countDocuments().
Para obtener más información sobre cómo especificar una query, consulta Especifica una query.
Contar todos los documentos
Para devolver un recuento de todos los documentos en la colección, llama al método countDocuments() sin argumentos, como se muestra en el siguiente ejemplo:
println(collection.countDocuments())
21349
Documentos específicos del recuento
Para devolver un recuento de documentos que coincidan con criterios de búsqueda específicos, especifica tu query en el método countDocuments(). El siguiente ejemplo imprime un recuento de todos los documentos en la colección movies que tienen un valor de campo year igual a 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 añadir un comentario a la operación countDocuments():
val options = CountOptions().comment("Retrieving count") collection.countDocuments(Filters.empty(), options)
Recuperar un conteo estimado
Utiliza el método estimatedDocumentCount() para recuperar una estimación de la cantidad de documentos en una colección. El método estima la cantidad de documentos en función de los metadatos de la colección, lo cual puede ser más rápido que realizar un conteo 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 la forma de un objeto EstimatedDocumentCountOptions, que representa las opciones que puedes usar para configurar la operación de conteo. Puedes establecer estas opciones instanciando un nuevo objeto EstimatedDocumentCountOptions, configurando los campos del objeto usando 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: