Para agentes de IA: um índice de documentação está disponível em https://www.mongodb.com/pt-br/docs/llms.txt — as versões de markdown de todas as páginas estão disponíveis anexando .md a qualquer caminho de URL.

Encontrar documentos

Neste guia, você pode aprender como usar o driver C para localizar e recuperar documentos de uma coleção MongoDB usando operações de leitura. Você pode chamar a função mongoc_collection_find_with_opts() para recuperar documentos que correspondam a um conjunto de critérios especificados em um filtro de queries.

Os exemplos neste guia utilizam a coleção do restaurants no banco de dados do sample_restaurants a partir do conjunto 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 MongoDB Get Started.

A mongoc_collection_find_with_opts() função utiliza um filtro de query e retorna todos os documentos correspondentes de uma collection. Um filtro de query é um documento que especifica os critérios que o driver usa para corresponder aos documentos da coleção.

Para saber mais sobre filtros de query, consulte o guia Especificar uma query .

O exemplo a seguir usa a função mongoc_collection_find_with_opts() para localizar todos os documentos nos quais o valor do campo cuisine é "Spanish":

bson_t *filter = BCON_NEW("cuisine", BCON_UTF8("Spanish")); mongoc_cursor_t *results = mongoc_collection_find_with_opts(collection, filter, NULL, NULL);

A operação mongoc_collection_find_with_opts() no exemplo anterior retorna um mongoc_cursor_t *, que você pode iterar usando a função mongoc_cursor_next() e um loop enquanto. O exemplo a seguir itera e imprime os resultados retornados na query anterior:

const bson_t *doc;bson_error_t error; while (mongoc_cursor_next(results, &doc)) { char *str = bson_as_canonical_extended_json(doc, NULL); printf("%s\n", str); bson_free(str);} // Ensure we iterated through cursor without errorif (mongoc_cursor_error(results, &error)) { fprintf(stderr, "Error getting results: %s\n", error.message);} mongoc_cursor_destroy(results);bson_destroy(filter);

Observação

Localizar todos os documentos

Para encontrar todos os documentos em uma coleção, passe um filtro vazio para a função mongoc_collection_find_with_opts():

bson_t *empty_filter = bson_new(); mongoc_cursor_t *results = mongoc_collection_find_with_opts(collection, empty_filter, NULL, NULL); mongoc_cursor_destroy(results);bson_destroy(empty_filter);

Você pode modificar o comportamento da função mongoc_collection_find_with_opts() passando uma estrutura bson_t que contém as opções que você deseja configurar. A tabela a seguir descreve as opções comumente usadas para modificar query:

Opção
Descrição

collation

Define as opções de agrupamento para a query.

comment

Especifica uma string para anexar à query. Isso pode ajudá-lo a rastrear e interpretar a operação nos logs do servidor e nos dados do perfil. Para saber mais sobre comentários da query, consulte a página cursor.comment() no manual do MongoDB Server.

hint

Especifica o índice a ser usado para a query.

limit

Limita o número de documentos a serem retornados da query.

maxTimeMS

Define o tempo de execução máximo no servidor para esta operação.

skip

Define o número de documentos a ignorar.

sort

Define os critérios de classificação a serem aplicados à query.

O exemplo seguinte utiliza as opções limit e maxTimeMS para limitar o número de documentos retornados pela query para 10 e definir um tempo máximo de execução de 10000 milissegundos na operação:

bson_t *filter = BCON_NEW("cuisine", BCON_UTF8("Spanish"));bson_t *opts = BCON_NEW("limit", BCON_INT32(10), "maxTimeMS", BCON_INT32(10000)); mongoc_cursor_t *results = mongoc_collection_find_with_opts(collection, filter, opts, NULL); mongoc_cursor_destroy(results);bson_destroy(filter);bson_destroy(opts);

Para obter uma lista completa de opções que modificam o comportamento do,mongoc_collection_find_with_opts() consulte a documentação do método find no manual do MongoDB Server .

Para saber mais sobre filtros de queries, consulte Especificar uma query.

Para exibir exemplos de código executáveis que recuperam documentos usando o driver C, consulte Ler dados.

Para saber mais sobre qualquer uma das funções discutidas nesta guia, consulte a seguinte documentação da API: