Docs Menu
Docs Home
/ /

Contabilizar documentos

En esta guía, aprenderá a usar el controlador Ruby para obtener un recuento preciso y estimado del número de documentos en una colección. Los siguientes métodos cuentan los documentos en una colección:

  • count_documents: Devuelve el número exacto de documentos que coinciden con un filtro de consulta o que existen en una colección

  • estimated_document_count: Devuelve el número estimado de documentos que existen en una colección

Los ejemplos de esta guía utilizan la colección companies en la base de datos sample_training de la Conjuntos de datos de muestra de Atlas. Para acceder a esta colección desde su aplicación Ruby, cree un Mongo::Client objeto que se conecte a un clúster de Atlas y asigne los siguientes valores a las variables database collection y:

database = client.use('sample_training')
collection = database['companies']

Para aprender cómo crear un clúster gratuito de MongoDB Atlas y cargar los conjuntos de datos de muestra, consulte la guía de introducción a MongoDB.

Utilice el método count_documents para contar el número de documentos de una colección. Para contar el número de documentos que coinciden con criterios de búsqueda específicos, pase un filtro de consulta al método count_documents.

Tip

Para obtener más información sobre cómo especificar una consulta, consulte la Especifique una guía de consulta.

Para devolver un recuento de todos los documentos de la colección, llame al método count_documents sin pasar un filtro de consulta, como se muestra en el siguiente ejemplo:

result = collection.count_documents
puts "Number of documents: #{result}"
Number of documents: 9500

Para devolver un recuento de documentos que coinciden con criterios de búsqueda específicos, pase un filtro de consulta al método count_documents.

El siguiente ejemplo cuenta la cantidad de documentos en los que el valor del campo founded_year es 2010:

result = collection.count_documents(founded_year: 2010)
puts "Number of companies founded in 2010: #{result}"
Number of companies founded in 2010: 33

Puede modificar el comportamiento del método count_documents pasando un segundo parámetro que especifique los valores de las opciones. La siguiente tabla describe las opciones que puede configurar para personalizar la operación de conteo:

Opción
Descripción

collation

The collation to use for the operation.
Type: Hash

hint

The index to use for the operation.
Type: Hash

comment

The comment to attach to the operation.
Type: Object

limit

The maximum number of documents to count. This value must be a positive integer.
Type: Integer

max_time_ms

The maximum amount of time in milliseconds that the operation can run.
Type: Integer

skip

The number of documents to skip before counting documents.
Type: Integer

read

The read preference to use for the operation. To learn more, see Read Preference in the MongoDB Server manual.
Type: Hash

El siguiente ejemplo utiliza el método count_documents para contar la cantidad de documentos en los que el campo number_of_employees tiene el valor 50 e indica a la operación que cuente un máximo de 100 resultados:

result = collection.count_documents({ number_of_employees: 50 }, limit: 100)
puts "Number of companies with 50 employees: #{result}"
Number of companies with 50 employees: 100

Importante

Cuando pasa un parámetro de opciones al método count_documents, debe encerrar el filtro de consulta entre corchetes ({}).

Puede obtener una estimación del número de documentos de una colección llamando al método estimated_document_count. Este método estima la cantidad de documentos basándose en los metadatos de la colección, lo que podría ser más rápido que realizar un recuento preciso.

El siguiente ejemplo estima el número de documentos en una colección:

result = collection.estimated_document_count
puts "Estimated number of documents: #{result}"
Estimated number of documents: 9500

Puede modificar el comportamiento del método estimated_document_count pasando un parámetro que especifique los valores de las opciones. La siguiente tabla describe las opciones que puede configurar para personalizar la operación:

Opción
Descripción

comment

The comment to attach to the operation.
Type: Object

max_time_ms

The maximum amount of time in milliseconds that the operation can run.
Type: Integer

read

The read concern to use for the operation. To learn more, see Read Concern in the MongoDB Server manual.
Type: Hash

El siguiente ejemplo utiliza el método estimated_document_count para devolver una estimación de la cantidad de documentos en la colección y establece un tiempo de espera de 1000 milisegundos en la operación:

result = collection.estimated_document_count(max_time_ms: 1000)
puts "Estimated number of documents: #{result}"
Estimated number of documents: 9500

Para obtener más información sobre cualquiera de los métodos analizados en esta guía, consulte la siguiente documentación de API:

Volver

Valores únicos de campo

En esta página