Overview
En esta guía, puede aprender cómo recuperar un recuento preciso y estimado de la cantidad de documentos en una colección.
Recupera un recuento preciso
Usa el count_documents() método para contar la cantidad de documentos que hay en una colección. Para contar el número de documentos que coinciden con un criterio de búsqueda específico, pasar un diccionario que incluya un filtro de query al método count_documents().
Para obtener más información sobre cómo especificar una query, consulta Especifica una query.
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 la pestaña Asynchronous para ver el código correspondiente:
collection.count_documents({})
await collection.count_documents({})
Documentos específicos del recuento
Para devolver un recuento de documentos que coincidan con criterios de búsqueda específicos, especifica tu query en el método count_documents(), como se muestra en el siguiente ejemplo. Selecciona 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 las opciones que puedes utilizar para configurar la operación de conteo. Si no se especifican opciones, el controlador no personaliza la operación de recuento.
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 conteo 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 la cantidad de documentos en 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 las opciones que puedes utilizar para configurar la operación de conteo. Si no se especifican opciones, el controlador no personaliza la operación de recuento.
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
DeprecationWarning: la función de recuento está obsoleta
PyMongo ya no soporta 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 intentas 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: