Docs Menu
Docs Home
/ /

Contabilizar documentos

En esta guía, puede aprender cómo recuperar recuentos precisos y estimados de la cantidad de documentos en una colección.

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(
@BsonId
val id: ObjectId,
val title: String
)

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.

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

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

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

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.

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.

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)

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

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

comment

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)

Para aprender más sobre cualquiera de los métodos o tipos analizados en esta guía, consulta la siguiente documentación de API:

Volver

Especifica un query

En esta página