Contagem de documentos
Nesta página
Visão geral
Neste guia, você pode aprender como recuperar contagens precisas e estimadas do número de documentos em uma coleção.
Dados de amostra
Os exemplos neste guia utilizam a coleção do movies
no banco de dados de dados do sample_mflix
a partir dos conjuntos de dados de amostra do Atlas. Para saber como criar um cluster MongoDB Atlas gratuito e carregar os conjuntos de dados de amostra, consulte o guia Iniciar com Atlas .
Recuperar uma contagem precisa
Use a função mongoc_collection_count_documents()
para contar o número de documentos que estão em uma collection. Para contar o número de documentos que correspondem aos critérios de pesquisa especificados, passe um filtro de query para a função mongoc_collection_count_documents()
.
Para saber mais sobre como especificar uma query, consulte Especificar uma query .
Contagem de todos os documentos
Para retornar uma contagem de todos os documentos na collection, chame a função mongoc_collection_count_documents()
com um filtro de query vazio, conforme mostrado no exemplo a seguir :
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
Contagem de documentos específicos
Para retornar uma contagem de documentos que correspondam a critérios de pesquisa específicos, especifique sua query na função mongoc_collection_count_documents()
. O exemplo a seguir imprime uma contagem de todos os documentos na collection movies
que têm um 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 comportamento de contagem
A função mongoc_collection_count_documents()
aceita parâmetros opcionais na forma de uma estrutura bson_t
, que representa um conjunto de opções que você pode utilizar para configurar a operação de contagem. Se você não especificar nenhuma opção, o driver não personalizará a operação de contagem.
A tabela a seguir descreve as opções que você pode definir para personalizar countDocuments()
:
Opção | Descrição |
---|---|
| 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 obter uma lista completa de opções, consulte a documentação da API para mongoc_collection_count_documents()
.
O exemplo a seguir usa uma estrutura bson_t
para adicionar um comentário à operação 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 uma contagem estimada
Use a função mongoc_collection_estimated_document_count()
para recuperar uma estimativa do número de documentos em uma collection. A função estima a quantidade de documentos com base nos metadados da collection, o que pode ser mais rápido do que realizar uma contagem precisa.
O exemplo a seguir imprime o número estimado de documentos em uma collection:
bson_error_t error; int64_t count = mongoc_collection_estimated_document_count (collection, NULL, NULL, NULL, &error); printf ("%" PRId64 "\n", count);
21349
Personalizar comportamento de contagem estimada
A função mongoc_collection_estimated_document_count()
aceita parâmetros opcionais na forma de uma estrutura bson_t
, que representa opções que você pode utilizar para configurar a operação de contagem. Se você não especificar nenhuma opção, o driver não personalizará a operação de contagem.
A tabela a seguir descreve as opções que você pode definir para personalizar mongoc_collection_estimated_document_count()
:
Opção | Descrição |
---|---|
| 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 obter uma lista completa de opções, consulte a documentação da API para mongoc_collection_estimated_document_count()
.
O exemplo a seguir usa uma estrutura bson_t
para adicionar um comentário à operação 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
Documentação da API
Para saber mais sobre qualquer uma das funções discutidas nesta guia, consulte a seguinte documentação da API: