Join us at MongoDB.local London on 7 May to unlock new possibilities for your data. Use WEB50 to save 50%.
Register now >
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 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(
@BsonId
val id: ObjectId,
val title: String
)

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.

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

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

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 añadir un comentario a la operación countDocuments():

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

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

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

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