Overview
En esta guía, puede aprender cómo recuperar recuentos precisos y estimados de la cantidad de documentos en una colección.
Datos de muestra
Los ejemplos de esta guía utilizan el movies colección en la base de datos sample_mflix de la Conjuntos de datos de ejemplo de Atlas. Para aprender a crear un clúster gratuito de MongoDB Atlas y cargar los conjuntos de datos de ejemplo, consulte la guía de introducción a MongoDB.
Recupere un recuento preciso
Utilice la función mongoc_collection_count_documents() para contar el número de documentos de una colección. Para contar el número de documentos que coinciden con los criterios de búsqueda especificados, pase un filtro de consulta a la función mongoc_collection_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, llame a la función mongoc_collection_count_documents() con un filtro de consulta vacío, como se muestra en el siguiente ejemplo:
bson_error_t error; bson_t *empty_query = bson_new(); int64_t count = mongoc_collection_count_documents(collection, empty_query, NULL, NULL, NULL, &error); printf("%" PRId64 "\n", count); bson_destroy(empty_query);
21349
Documentos específicos del recuento
Para obtener un recuento de documentos que coinciden con criterios de búsqueda específicos, especifique su consulta en la función mongoc_collection_count_documents(). El siguiente ejemplo imprime un recuento de todos los documentos de la colección movies cuyo valor de campo year es 1930:
bson_error_t error; bson_t *query = BCON_NEW("year", BCON_INT32(1930)); int64_t count = mongoc_collection_count_documents(collection, query, NULL, NULL, NULL, &error); printf("%" PRId64 "\n", count); bson_destroy(query);
10
Personalizar el comportamiento del conteo
La función mongoc_collection_count_documents() acepta parámetros opcionales en forma de una estructura bson_t, que representa un conjunto de 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 countDocuments():
Opción | Descripción |
|---|---|
| Specifies a comment to attach to the operation. |
| Sets the number of documents to skip before returning results. |
| Sets the maximum number of documents to count. Must be a positive integer. |
| Specifies the kind of language collation to use when sorting
results. For more information, see Collation
in the MongoDB Server manual. |
| Sets the index to scan for documents. |
Para obtener una lista completa de opciones, consulta la Documentación de la API de mongoc_collection_count_documents().
El siguiente ejemplo utiliza una estructura bson_t para agregar un comentario a la operación mongoc_collection_count_documents():
bson_error_t error; bson_t *opts = BCON_NEW("comment", BCON_UTF8("Retrieving count")); int64_t count = mongoc_collection_count_documents(collection, bson_new(), opts, NULL, NULL, &error); printf("%" PRId64 "\n", count); bson_destroy(opts);
21349
Recuperar un recuento estimado
Utiliza la función mongoc_collection_estimated_document_count() para recuperar una estimación del número de documentos en una colección. La función estima la cantidad de documentos basándose en los metadatos de la colección, lo que puede ser más rápido que realizar un recuento exacto.
El siguiente ejemplo imprime el número estimado de documentos en una colección:
bson_error_t error; int64_t count = mongoc_collection_estimated_document_count(collection, NULL, NULL, NULL, &error); printf("%" PRId64 "\n", count);
21349
Personalizar el comportamiento del recuento estimado
La función mongoc_collection_estimated_document_count() acepta parámetros opcionales en forma de una estructura bson_t, que representa 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 mongoc_collection_estimated_document_count():
Opción | Descripción |
|---|---|
| Specifies a comment to attach to the operation. |
| Specifies the kind of language collation to use when sorting
results. For more information, see Collation
in the MongoDB Server manual. |
Para obtener una lista completa de opciones, consulta la Documentación de la API de mongoc_collection_estimated_document_count().
El siguiente ejemplo utiliza una estructura bson_t para agregar un comentario a la operación mongoc_collection_estimated_document_count():
bson_error_t error; bson_t *opts = BCON_NEW("comment", BCON_UTF8("Retrieving count")); int64_t count = mongoc_collection_estimated_document_count(collection, opts, NULL, NULL, &error); printf("%" PRId64 "\n", count); bson_destroy(opts);
21349
Documentación de la API
Para aprender más sobre alguna de las funciones tratadas en esta guía, consulta la siguiente documentación de la API: