Overview
En esta guía, puedes aprender cómo recuperar un recuento preciso y estimado del número de documentos en una colección.
Recupera un recuento preciso
Utiliza el método count_documents() para contar el número de documentos que hay en una colección. Para contar la cantidad de documentos que coincidan con un criterio de búsqueda específico, pase un diccionario que incluya un filtro de query al método count_documents().
Para obtener más información sobre la especificación de una query, consulta Especificar una query.
Contar todos los documentos
Para devolver un conteo de todos los documentos en la colección, pasa un diccionario vacío al 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({})
await collection.count_documents({})
Contar documentos específicos
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 de recuento
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 |
|---|---|
| Un comentario para adjuntar a la operación. |
| Una instancia de |
| La cantidad de documentos que se deben omitir antes de devolver resultados. |
| La cantidad máxima de documentos a contar. Debe ser un número entero positivo. |
| La cantidad máxima de tiempo permitida para que la operación se ejecute, en milisegundos. |
| Una instancia de |
| Obtiene o establece el índice para buscar documentos. |
Recuperar un conteo estimado
Puedes obtener una estimación del número 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 cual 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()
Personaliza el comportamiento de conteo 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 |
|---|---|
| Un comentario para adjuntar a la operación. |
| La cantidad máxima de tiempo permitida para que la operación se ejecute, en milisegundos. |
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: