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.
Menu Docs

Ler dados

Nesta página, você pode ver exemplos de código copiáveis que mostram métodos comuns de driver C++ para recuperar documentos.

Dica

Para saber mais sobre qualquer um dos métodos mostrados nesta página, consulte o link fornecido em cada seção.

To use an example from this page, copy the code example into the sample application or your own application. Be sure to replace all placeholders, such as <connection string>, with the relevant values for your MongoDB deployment.

Você pode usar o seguinte aplicativo de exemplo para testar os exemplos de código nesta página. Para usar o aplicativo de amostra, execute as seguintes etapas:

  1. Verifique se você tem o driver C++ instalado em um local de onde seu projeto possa importá-lo.

  2. Copie o código a seguir e cole-o em um novo arquivo .cpp dentro do seu projeto.

  3. Copie um exemplo de código desta página e cole-o na seção destacada do arquivo.

1#include <iostream>
2
3#include <bsoncxx/builder/basic/document.hpp>
4#include <bsoncxx/json.hpp>
5#include <mongocxx/client.hpp>
6#include <mongocxx/exception/exception.hpp>
7#include <mongocxx/instance.hpp>
8#include <mongocxx/uri.hpp>
9
10using bsoncxx::builder::basic::kvp;
11using bsoncxx::builder::basic::make_document;
12
13int main() {
14 try {
15 mongocxx::instance instance;
16
17 mongocxx::uri uri("<connection string>");
18 mongocxx::client client(uri);
19
20 auto database = client["<database name>"];
21 auto collection = database["<collection name>"];
22
23 // Start example code here
24
25 // End example code here
26
27 } catch (const mongocxx::exception& e) {
28 std::cout << "An exception occurred: " << e.what() << "\n";
29 return EXIT_FAILURE;
30 }
31
32 return EXIT_SUCCESS;
33}

O seguinte código mostra como recuperar um único documento de uma coleção que corresponda aos critérios especificados:

auto result = collection.find_one(make_document(kvp("<field name>", "<value>")));
std::cout << bsoncxx::to_json(*result) << std::endl;

Para saber mais sobre o método find_one() , consulte a seção Encontrar um documento no guia Recuperar dados.

O código a seguir mostra como recuperar todos os documentos de uma coleção que correspondam aos critérios especificados:

auto results = collection.find(make_document(kvp("<field name>", "<value>")));
for(auto&& doc : results) {
std::cout << bsoncxx::to_json(doc) << std::endl;
}

Para saber mais sobre o método find() , consulte a seção Encontrar vários documentos no guia Recuperar dados.

O seguinte código mostra como contar o número de documentos em uma coleção:

auto result = collection.count_documents({});
std::cout << result << std::endl;

Para saber mais sobre o método count_documents() , consulte a seção Recuperar uma contagem precisa no guia Contagem de documentos.

O seguinte código mostra como contar documentos em uma coleção que correspondam aos critérios especificados:

auto result = collection.count_documents(make_document(kvp("<field name>", "<value>")));
std::cout << result << std::endl;

Para saber mais sobre o método count_documents() , consulte a seção Recuperar uma contagem precisa no guia Contagem de documentos.

O código a seguir mostra como recuperar uma contagem estimada do número de documentos em uma coleção:

auto result = collection.estimated_document_count();
std::cout << result << std::endl;

Para saber mais sobre o método estimated_document_count() , consulte a seção Recuperar uma contagem estimada no guia Contagem de documentos.

O seguinte código mostra como recuperar os valores exclusivos de um campo para documentos que correspondem aos critérios especificados:

auto results = collection.distinct("<field name>", "<filter>");
for(auto&& doc : results) {
std::cout << bsoncxx::to_json(doc) << std::endl;
}

Para saber mais sobre o método distinct() , consulte o guia Retrieve Distinct Field Values (Recuperar valores de campos distintos).

O seguinte código mostra como monitorar e imprimir alterações em uma coleção:

auto stream = collection.watch();
while (true) {
for (const auto& event : stream) {
std::cout << bsoncxx::to_json(event) << std::endl;
}
}

Para saber mais sobre o método watch() , consulte o guia Monitorar alterações de dados .