Docs Menu
Docs Home
/ / /
C++ ドライバー
/

接続ターゲットの選択

項目一覧

  • Overview
  • Atlas
  • ローカル配置
  • レプリカセット
  • 初期化
  • API ドキュメント

このガイドでは、接続string と {0mongocxx::client オブジェクトを使用して、さまざまなタイプのMongoDB 配置に接続する方法を説明します。

MongoDBAtlas上の 配置に接続するには、 接続string に次の要素を含めます。

  • Atlas クラスターの URI

  • MongoDB ユーザー名

  • MongoDB パスワード

string次に、接続 をmongocxx::uri コンストラクターに渡し、mongocxx::uri mongocxx::clientオブジェクトを構築します。

Atlas に接続するときは、Atlas が MongoDB Server の新しいバージョンにアップグレードするときに重大な変更を回避するために、 Stable API クライアント オプションを使用することをお勧めします。 Stable API 機能について詳しくは、 Stable API ページ をご覧ください。

次のコードは、 C++ドライバーを使用して Atlas クラスターに接続する方法を示しています。 このコードでは、Stable APIバージョンを指定するためにserver_api_optsオプションも使用されます。

#include <mongocxx/instance.hpp>
#include <mongocxx/client.hpp>
#include <mongocxx/uri.hpp>
#include <bsoncxx/json.hpp>
#include <mongocxx/exception/exception.hpp>
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;
}
}

Tip

接続 Atlasを取得するには、 ドライバー接続ガイドstring に従ってください。

MongoDB のローカル配置に接続するには、ホスト名としてlocalhostを使用します。 デフォルトでは、 mongodプロセスはポート27017で実行されますが、これは配置に合わせてカスタマイズできます。

次のコードは、 C++ドライバーを使用してローカルMongoDBデプロイに接続する方法を示しています。

#include <mongocxx/instance.hpp>
#include <mongocxx/uri.hpp>
#include <mongocxx/client.hpp>
int main()
{
mongocxx::instance instance;
mongocxx::uri uri("mongodb://localhost:27017");
mongocxx::client client(uri);
}

レプリカセットに接続するには、IP 接続 でレプリカセットのホスト名(またはstring アドレス)とポート番号を指定します。

レプリカセットレプリカセットの 1 つ以上のホストを指定し、 C++ドライバーに自動検出を実行して他のホストを検索するように指示できます。 ドライバーに自動検出を実行するように指示するには、次のいずれかのアクションを実行します。

  • replicaSet パラメーターの値としてレプリカセットの名前を指定します。

  • directConnection パラメーターの値として false を指定します。

  • レプリカセットに複数のホストを指定します。

次の例では、ドライバーはサンプル接続 URI を使用して、host1 を含む 3 つの異なるホストのポート 27017 で実行されている MongoDB レプリカセット sampleRS に接続します。

#include <mongocxx/instance.hpp>
#include <mongocxx/client.hpp>
#include <mongocxx/uri.hpp>
int main()
{
mongocxx::instance instance;
mongocxx::uri uri("mongodb://host1:27017/?replicaSet=sampleRS");
mongocxx::client client(uri);
}

レプリカセットを初期化するには、単一のノードに直接接続する必要があります。 そのためには、 接続stringで directConnection 接続オプションを true に設定します。 次のコード例は、この接続オプションを設定する方法を示しています。

#include <mongocxx/instance.hpp>
#include <mongocxx/client.hpp>
#include <mongocxx/uri.hpp>
int main()
{
mongocxx::instance instance;
mongocxx::uri uri("mongodb://<hostname>:<port>/?directConnection=true");
mongocxx::client client(uri);
}

このページで使用されているタイプの詳細については、次のAPIドキュメントを参照してください。

戻る

MongoDB クライアントの作成