Conecte-se ao MongoDB
Criar uma diretoria de projeto
A partir do seu diretório raiz, execute o seguinte comando na sua shell para criar um diretório chamado cpp-quickstart
para este projeto:
mkdir cpp-quickstart
Execute os seguintes comandos para criar um arquivo de aplicação quickstart.cpp
no diretório cpp-quickstart
:
cd cpp-quickstart touch quickstart.cpp
Criar seu aplicação de driver C++
Copie e cole o seguinte código no arquivo quickstart.cpp
, que consulta a coleção movies
no banco de banco de dados sample_mflix
:
#include <cstdint> #include <iostream> #include <vector> #include <bsoncxx/builder/basic/document.hpp> #include <bsoncxx/json.hpp> #include <mongocxx/client.hpp> #include <mongocxx/instance.hpp> #include <mongocxx/uri.hpp> using bsoncxx::builder::basic::kvp; using bsoncxx::builder::basic::make_document; int main() { mongocxx::instance instance; mongocxx::uri uri("<connection string>"); mongocxx::client client(uri); auto db = client["sample_mflix"]; auto collection = db["movies"]; auto result = collection.find_one(make_document(kvp("title", "The Shawshank Redemption"))); std::cout << bsoncxx::to_json(*result) << std::endl; }
Atribuir a connection string
Substitua o placeholder <connection string>
pela connection string que você copiou da etapa Criar uma connection string deste guia.
Execute seu aplicação C++
Em sua shell, execute os seguintes comandos para compilar e executar este aplicação:
c++ --std=c++17 quickstart.cpp $(pkg-config --cflags --libs libmongocxx) -o ./app.out ./app.out
Dica
Os usuários do MacOS podem ver o seguinte erro ao executar os comandos anteriores:
dyld[54430]: Library not loaded: @rpath/libmongocxx._noabi.dylib
Para resolver esse erro, use a opção de vinculador -Wl,-rpath
para definir o @rpath
, conforme mostrado no código a seguir:
c++ --std=c++17 quickstart.cpp -Wl,-rpath,/usr/local/lib/ $(pkg-config --cflags --libs libmongocxx) -o ./app.out ./app.out
A saída da linha de comando contém detalhes sobre o documento de filme recuperado:
{ "_id" : { "$oid" : "573a1399f29313caabceeb20" }, "plot" : "Two imprisoned men bond over a number of years, finding solace and eventual redemption through acts of common decency.", ... "title" : "The Shawshank Redemption", ...
Se você encontrar um erro ou não vir nenhuma saída, verifique se especificou a string de conexão adequada no arquivo quickstart.cpp
e se carregou os dados de amostra.
Depois de concluir essas etapas, você tem um aplicativo funcional que utiliza o driver para se conectar à sua implantação do MongoDB, executar uma consulta nos dados de amostra e imprimir o resultado.
Observação
Caso encontre algum problema nesta etapa, peça ajuda nos fóruns da MongoDB Community, ou envie feedback utilizando a aba Rate this page no lado direito ou inferior direito desta página.