接続ターゲットの選択
Overview
このガイドでは、接続string と {0mongocxx::client
オブジェクトを使用して、さまざまなタイプのMongoDB 配置に接続する方法を説明します。
Atlas
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
オプションも使用されます。
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デプロイに接続する方法を示しています。
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
に接続します。
int main() { mongocxx::instance instance; mongocxx::uri uri("mongodb://host1:27017/?replicaSet=sampleRS"); mongocxx::client client(uri); }
初期化
レプリカセットを初期化するには、単一のノードに直接接続する必要があります。 そのためには、 接続stringで directConnection
接続オプションを true
に設定します。 次のコード例は、この接続オプションを設定する方法を示しています。
int main() { mongocxx::instance instance; mongocxx::uri uri("mongodb://<hostname>:<port>/?directConnection=true"); mongocxx::client client(uri); }
API ドキュメント
このページで使用されているタイプの詳細については、次のAPIドキュメントを参照してください。