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 muestra de Atlas. Para aprender a crear un clúster gratuito de MongoDB Atlas y cargar los conjuntos de datos de ejemplo, consulta la guía Introducción a MongoDB.
Recupera un recuento preciso
Utiliza la función mongoc_collection_count_documents() para contar la cantidad de documentos que se encuentran en una colección. Para contar el número de documentos que cumplen con determinados criterios de búsqueda, pasa un filtro de query a la función mongoc_collection_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 en la colección, llama a la función mongoc_collection_count_documents() con un filtro de query 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 devolver una cuenta de documentos que coincidan con criterios de búsqueda específicos, especifique su query en la función mongoc_collection_count_documents(). El siguiente ejemplo imprime un recuento de todos los documentos en la colección movies que tienen un valor de campo year igual a 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 conteo 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 estructura bson_t, que representa las opciones que puedes usar para configurar la operación de conteo. Si no especificas 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: