Visão geral
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.
Aplicativo de amostra
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:
Verifique se você tem o driver C++ instalado em um local de onde seu projeto possa importá-lo.
Copie o código a seguir e cole-o em um novo arquivo
.cppdentro do seu projeto.Copie um exemplo de código desta página e cole-o na seção destacada do arquivo.
1 2 3 4 5 6 7 8 9 10 using bsoncxx::builder::basic::kvp; 11 using bsoncxx::builder::basic::make_document; 12 13 int 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 }
encontrar um
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.
Encontrar vários
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.
Contagem de documentos em uma coleção
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.
Contagem de documentos retornados de uma query
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.
Contagem estimada 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.
Retrieve Distinct Values
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).
Monitorar alterações de dados
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 .