Introdução ao driver C++
Nesta página
- Visão geral
- Baixar e instalar
- Instalar dependências
- Baixe o driver C++
- Configurar o driver para instalação
- Construa e instale o driver
- Criar uma MongoDB deployment
- Crie uma MongoDB deployment gratuita no Atlas
- Salvar suas credenciais
- Criar uma connection string
- Encontre sua connection string do MongoDB Atlas
- Copie a connection string
- Atualizar os espaços reservados
- Executar uma query de amostra
- Criar uma diretoria de projeto
- Criar seu aplicação de driver C++
- Atribuir a connection string
- Execute seu aplicação C++
- Próximos passos
Visão geral
O driver C++ do MongoDB é um pacote C++ que você pode usar para se conectar ao MongoDB e interagir com dados armazenados em seu sistema. Este guia mostra como criar um aplicação que usa o driver C++ para se conectar a um cluster MongoDB hospedado no MongoDB Atlas e consultar dados em seu cluster.
Dica
O MongoDB Atlas é um serviço de banco de dados em nuvem totalmente gerenciado que hospeda seu Implantações do MongoDB. Você pode criar sua própria implantação do MongoDB Atlas gratuita (nenhum cartão de crédito exigido) seguindo as etapas deste guia.
Siga este guia para conectar um aplicação C++ de amostra a uma implantação do MongoDB Atlas . Se você preferir se conectar ao MongoDB usando um driver ou uma linguagem de programação diferente, consulte nossa lista de drivers oficiais.
Baixar e instalar
Instalar dependências
Antes de iniciar este tutorial, verifique se você tem as seguintes dependências instaladas em seu ambiente de desenvolvimento:
Compilador compatível com C++17, como GCC, Clang ou Visual Studio
CMake v3.15 ou mais tarde
Observação
Configurações pré-C++17
Embora11 o C++ seja a versão mínima de idioma suportada, este tutorial configura o driver C++ para usar a17 biblioteca padrão do C++, conforme recomendado pela seção C++ 17 seção Configuração de polyfill. Se você deseja instalar o driver para configurações pré-C++17, configure a opção de configuração do CMAKE_CXX_STANDARD
para sua versão C++ . Em seguida, o driver usará automaticamente as implementações de polyfill da biblioteca bsoncxx para os recursos17 C++ necessários.
Baixe o driver C++
Para baixar a versão mais recente do driver C++ do repositório mongo-cxx-driver
do Github, execute os seguintes comandos em seu shell a partir do diretório raiz:
curl -OL https://github.com/mongodb/mongo-cxx-driver/releases/download/r4.0.0/mongo-cxx-driver-r4.0.0.tar.gz tar -xzf mongo-cxx-driver-r4.0.0.tar.gz cd mongo-cxx-driver-r4.0.0/build
Configurar o driver para instalação
Selecione a guia correspondente ao seu sistema operacional e execute o seguinte comando no diretório mongo-cxx-driver-r4.0.0/build
:
cmake .. \ -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_CXX_STANDARD=17
Este comando instrui o CMake a instalar o mongocxx
no diretório /usr/local
.
'C:\<path>\cmake.exe' .. \ -G "Visual Studio <version> <year>" -A "x64" \ -DCMAKE_CXX_STANDARD=17 \ -DCMAKE_INSTALL_PREFIX=C:\mongo-cxx-driver \
Este comando instrui o CMake a instalar o mongocxx
no diretório C:\mongo-cxx-driver
. Substitua os seguintes valores de espaço reservado:
<path>
: O caminho para o executável do CMake<version>
: número da versão do Visual Studio<year>
: o ano correspondente à sua versão do Visual Studio
Depois de concluir estas etapas, você terá o driver C++ instalado em seu computador.
Criar uma MongoDB deployment
Você pode criar uma implantação MongoDB de camada gratuita no MongoDB Atlas para armazenar e gerenciar seus dados. O MongoDB Atlas hospeda e gerencia seu banco de dados MongoDB na nuvem.
Crie uma MongoDB deployment gratuita no Atlas
Complete o guia Iniciar com Atlas para configurar uma nova conta Atlas e carregar dados de amostra em uma nova implantação MongoDB de camada gratuita.
Após concluir estas etapas, você terá uma nova implantação de camada grátis do MongoDB no Atlas, credenciais de trigger de banco de dados e dados de exemplo carregados no seu reconhecimento de data center.
Criar uma connection string
Você pode se conectar à sua implantação do MongoDB fornecendo um URI de conexão, também chamado de connection string, que instrui o driver sobre como se conectar a uma implantação do MongoDB e como se comportar enquanto estiver conectado.
A cadeia de conexão inclui o nome do host ou endereço IP e porta de sua implantação, o mecanismo de autenticação, as credenciais do usuário quando aplicável, e opções de conexão.
Para se conectar a uma instância ou sistema não hospedado no Atlas, consulte o guia Escolher um Destino de Conexão .
Encontre sua connection string do MongoDB Atlas
Para recuperar a string de conexão da implantação criada na etapa anterior, faça login na sua conta do Atlas e navegue até a seção Database e clique no botão Connect para a nova implantação.

Vá para a seção Connect your application e selecione "C++" no menu de seleção Driver e a versão que melhor corresponde à versão instalada no menu de seleção Version .
Selecione o mecanismo de autenticação Password (SCRAM).
Desmarque a opção Include full driver code example para visualizar somente a string de conexão.
Após concluir estas etapas, você tem uma string de conexão que corresponde ao seu agrupamento do Atlas .
Executar uma query de amostra
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 string de conexão 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.
Próximos passos
Parabéns por concluir o tutorial de início rápido!
Observação
Caso ocorra algum problema nesta etapa, peça ajuda nos Fóruns da MongoDB Community ou envie feedback pela aba Rate this page no lado direito ou no canto inferior direito desta página.
Neste tutorial, você criou um aplicação C++ que se conecta a um MongoDB hospedado no MongoDB Atlas e recupera um documento que corresponde a uma query.
Saiba mais sobre o driver C++ nos seguintes recursos:
Saiba como realizar operações de leitura na seção Ler dados.
Saiba como realizar operações de gravação na seção Gravar dados no MongoDB .