Escolha um destino de conexão
Nesta página
Visão geral
Neste guia, você pode aprender como usar uma string de conexão e objeto mongocxx::client
para conectar a diferentes tipos de sistemas MongoDB.
Atlas
Para se conectar a uma MongoDB deployment no Atlas, inclua os seguintes elementos em sua connection string:
URI do seu Atlas cluster
Nome de usuário do MongoDB
Senha do MongoDB
Em seguida, passe sua string de conexão para o construtor mongocxx::uri
e use o objeto mongocxx::uri
para construir um objeto mongocxx::client
.
Ao se conectar ao Atlas, recomendamos usar a opção de cliente Stable API para evitar alterações significativas quando o Atlas atualizar para uma nova versão do MongoDB Server. Para saber mais sobre o recurso de Stable API , consulte apágina deStable API .
O seguinte código mostra como utilizar o driver C++ para conectar a um cluster Atlas . O código também usa a opção server_api_opts
para especificar uma versão da Stable API .
using bsoncxx::builder::basic::kvp; using bsoncxx::builder::basic::make_document; int main() { mongocxx::instance instance; // Replace the placeholder with your Atlas connection string mongocxx::uri uri("<connection string>"); // Create a mongocxx::client with a mongocxx::options::client object to set the Stable API version mongocxx::options::client client_options; mongocxx::options::server_api server_api_options(mongocxx::options::server_api::version::k_version_1); client_options.server_api_opts(server_api_options); mongocxx::client client(uri, client_options); try { // Ping the server to verify that the connection works auto admin = client["admin"]; auto command = make_document(kvp("ping", 1)); auto result = admin.run_command(command.view()); std::cout << bsoncxx::to_json(result) << "\n"; std::cout << "Pinged your deployment. You successfully connected to MongoDB!\n"; } catch (const mongocxx::exception &e) { std::cerr << "An exception occurred: " << e.what() << "\n"; return EXIT_FAILURE; } }
Dica
Siga oguia de conexão do driver do Atlas para recuperar sua connection string.
Implantações locais
Para se conectar a uma implantação local do MongoDB, use localhost
como nome do host. Por padrão, o processo mongod
é executado na porta 27017, embora você possa personalizar isso para seu sistema.
O código a seguir mostra como usar o driver C++ para se conectar a um sistema local do MongoDB :
int main() { mongocxx::instance instance; mongocxx::uri uri("mongodb://localhost:27017"); mongocxx::client client(uri); }
Conjuntos de réplicas
Para se conectar a um conjunto de réplicas, especifique o nome de host (ou o endereço IP) e o número de porta dos membros do conjunto de réplicas em sua string de conexão.
Se você não conseguir fornecer uma lista completa de hosts no conjunto de réplicas, poderá especificar um ou mais hosts no conjunto de réplicas e instruir o driver C++ a executar a descoberta automática para encontrar os outros. Para instruir o driver a realizar a descoberta automática, execute uma das seguintes ações:
Especifique o nome do conjunto de réplica como o valor do parâmetro
replicaSet
.Especifique
false
como o valor do parâmetrodirectConnection
.Especifique mais de um host no conjunto de réplica.
No exemplo a seguir, o driver usa um URI de conexão de exemplo para se conectar ao conjunto de réplicas do MongoDB sampleRS
, que está sendo executado na porta 27017
de três hosts diferentes, incluindo host1
:
int main() { mongocxx::instance instance; mongocxx::uri uri("mongodb://host1:27017/?replicaSet=sampleRS"); mongocxx::client client(uri); }
Inicialização
Para inicializar um conjunto de réplicas, você deve se conectar diretamente a um único membro. Para fazer isso, defina a opção de conexão directConnection
para true
na string de conexão. O seguinte exemplo de código mostra como definir esta opção de conexão:
int main() { mongocxx::instance instance; mongocxx::uri uri("mongodb://<hostname>:<port>/?directConnection=true"); mongocxx::client client(uri); }
Documentação da API
Para saber mais sobre os tipos usados nesta página, consulte a seguinte documentação da API: