Overview
En esta guía, puede aprender cómo recuperar un recuento preciso y estimado de la cantidad de documentos en una colección.
Recupere un recuento preciso
Uso el count_documents() Método para contar el número de documentos de una colección. Para contar el número de documentos que coinciden con un criterio de búsqueda específico, pase un diccionario que incluya un filtro de consulta al método count_documents().
Para obtener más información sobre cómo especificar una consulta, consulte Especifique una consulta.
Contar todos los documentos
Para devolver un recuento de todos los documentos de la colección, pase un diccionario vacío al método count_documents(), como se muestra en el siguiente ejemplo. Seleccione el
Synchronous o pestaña Asynchronous para ver el código correspondiente:
collection.count_documents({})
await collection.count_documents({})
Documentos específicos del recuento
Para obtener un recuento de documentos que coinciden con criterios de búsqueda específicos, especifique su consulta en el método count_documents(), como se muestra en el siguiente ejemplo. Seleccione la pestaña Synchronous o Asynchronous para ver el código correspondiente:
collection.count_documents({ "author": "Mike" })
await collection.count_documents({ "author": "Mike" })
Personalizar el comportamiento del conteo
El método count_documents() acepta parámetros opcionales, que representan opciones que se pueden usar para configurar la operación de conteo. Si no se especifica ninguna opción, el controlador no personaliza la operación de conteo.
La siguiente tabla describe las opciones que puedes configurar para personalizar count_documents():
Propiedad | Descripción |
|---|---|
| A comment to attach to the operation. |
| An instance of ClientSession. |
| The number of documents to skip before returning results. |
| The maximum number of documents to count. Must be a positive integer. |
| The maximum amount of time to allow the operation to run, in
milliseconds. |
| An instance of Collation. |
| Gets or sets the index to scan for documents. |
Recuperar un recuento estimado
Puede obtener una estimación del número de documentos de una colección llamando al método estimated_document_count(). Este método calcula 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 de una colección. Seleccione la pestaña Synchronous o Asynchronous para ver el código correspondiente:
collection.estimated_document_count()
await collection.estimated_document_count()
Personalizar el comportamiento del recuento estimado
El método estimated_document_count() acepta parámetros opcionales, que representan opciones que se pueden usar para configurar la operación de conteo. Si no se especifica ninguna opción, el controlador no personaliza la operación de conteo.
La siguiente tabla describe las opciones que puedes configurar para personalizar estimated_document_count():
Propiedad | Descripción |
|---|---|
| A comment to attach to the operation. |
| The maximum amount of time to allow the operation to run, in
milliseconds. |
Solución de problemas
Advertencia de desuso: el recuento está obsoleto
PyMongo ya no admite el método count(). En su lugar, utilice el método count_documents() de la clase Collection.
Importante
El método count_documents() pertenece a la clase Collection. Si intenta llamar a Cursor.count_documents(), PyMongo genera el siguiente error:
Traceback (most recent call last): File "<stdin>", line 1, in <module> AttributeError: 'Cursor' object has no attribute 'count'
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: