Para agentes de IA: hay un índice de documentación disponible en https://www.mongodb.com/es/docs/llms.txt — versiones en markdown de todas las páginas están disponibles agregando .md a cualquier ruta URL.
Make the MongoDB docs better! We value your opinion. Share your feedback for a chance to win $100.
MongoDB Branding Shape
Click here >
Docs Menu

Contabilizar documentos

En esta guía, puedes aprender cómo usar el driver de Ruby para recuperar un conteo exacto 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 query 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 los conjuntos de datos de muestra de Atlas. Para acceder a esta colección desde tu aplicación Ruby, crea un objeto Mongo::Client que se conecte a un clúster de Atlas y asigna los siguientes valores a tus variables database y collection:

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 ejemplo, consulta la guía MongoDB Get Started.

Utiliza el método count_documents para contar la cantidad de documentos en una colección. Para contar la cantidad de documentos que cumplen con criterios de búsqueda específicos, pasa un filtro de query al método count_documents.

Tip

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

Para devolver un recuento de todos los documentos de la colección, llama al método count_documents sin pasar un filtro de query, 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, pasa un filtro de query al método count_documents.

El siguiente ejemplo cuenta el número 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

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

Opción
Descripción

collation

La intercalación que se utilizará para la operación.
Tipo: Hash

hint

Índice a utilizar para la operación.
Tipo: Hash

comment

Comentario para adjuntar a la operación.
Tipo: Object

limit

Número máximo de documentos a contabilizar. Este valor debe ser un número entero positivo.
Tipo: Integer

max_time_ms

Tiempo máximo en milisegundos que puede durar la operación.
Tipo: Integer

skip

Número de documentos que se deben omitir antes de contarlos.
Tipo: Integer

read

Preferencia de lectura que se utilizará para la operación. Para obtener más información, consulte Preferencia de lectura en el manual del servidor MongoDB.
Tipo: Hash

El siguiente ejemplo utiliza el método count_documents para contar el número de documentos en los que el campo number_of_employees tiene el valor 50 e instruye a la operación a contar 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 se pasa un parámetro de opciones al método count_documents, se debe encerrar el filtro de query entre corchetes ({}).

Puede recuperar una estimación de la cantidad de documentos en una colección llamando al método estimated_document_count. El método estima la cantidad de documentos en función de los metadatos de la colección, lo que podría ser más rápido que realizar un recuento exacto.

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

Puedes 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 puedes configurar para personalizar la operación:

Opción
Descripción

comment

Comentario para adjuntar a la operación.
Tipo: Object

max_time_ms

Tiempo máximo en milisegundos que puede durar la operación.
Tipo: Integer

read

La preocupación de lectura que se utilizará para la operación. Para obtener más información, consulte la sección "Preocupación de lectura" en el manual del servidor MongoDB.
Tipo: Hash

El siguiente ejemplo usa el método estimated_document_count para devolver una estimación del número 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 mencionados en esta guía, consulta la siguiente documentación de la API: