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

MongoDB に接続する

項目一覧

  • Overview
  • サンプル アプリケーション
  • 接続
  • ローカル配置
  • Atlas
  • レプリカセット
  • トランスポート層セキュリティ (TLS)
  • TLS の有効化
  • ホスト名検証を無効化する
  • ネットワーク圧縮
  • 圧縮アルゴリズム
  • zlibCompressionLevel
  • サーバーの選択
  • Stable API

このページには、 Cドライバーを使用してさまざまな設定を指定してアプリケーションをMongoDBに接続する方法を示すコード例が含まれています。

Tip

接続オプション

このページの接続オプションの詳細については、各セクションに記載されているリンクを参照してください。

このページの接続例を使用するには、コード例をサンプル アプリケーションまたは独自のアプリケーションにコピーします。 <hostname>など、コード例にあるすべてのプレースホルダーを、MongoDB 配置に関連する値に置き換えてください。

次のサンプルアプリケーションを使用して、このページのコード例をテストできます。 サンプル アプリケーションを使用するには、次の手順を実行します。

  1. Cドライバーがインストールされていることを確認します。

  2. 次のコードをコピーし、新しい.cファイルに貼り付けます。

  3. このページからコード例をコピーし、 ファイル内の指定された行に貼り付けます。

1#include <mongoc/mongoc.h>
2#include <bson/bson.h>
3
4int main(void) {
5
6 mongoc_uri_t* uri = NULL;
7 mongoc_client_t *client = NULL;
8 mongoc_database_t *database = NULL;
9 bson_t *ping = NULL, reply = BSON_INITIALIZER;
10 bson_error_t error;
11
12 mongoc_init();
13
14 // Start example code here
15
16 // End example code here
17
18 database = mongoc_client_get_database (client, "admin");
19
20 ping = BCON_NEW ("ping", BCON_INT32 (1));
21
22 if (!mongoc_client_command_simple (client, "admin", ping, NULL, &reply, &error)) {
23 fprintf (stderr, "%s\n", error.message);
24 goto cleanup;
25 }
26 printf ("Pinged your deployment. You successfully connected to MongoDB!\n");
27
28 cleanup:
29 bson_destroy (&reply);
30 bson_destroy (ping);
31 mongoc_database_destroy (database);
32 mongoc_client_destroy (client);
33 mongoc_uri_destroy (uri);
34 mongoc_cleanup ();
35}

次のセクションでは、MongoDB のローカル インスタンスや Atlas のクラウドでホストされるインスタンスなど、さまざまなターゲットに接続する方法について説明します。

次のコードは、 のローカルインスタンスに接続するための接続string MongoDBを示しています。

client = mongoc_client_new ("mongodb://localhost:27017");

ローカル配置への接続の詳細については、「 接続ターゲットの選択 」ガイドの「 ローカル配置 」を参照してください。

次のコードは、 でホストされている配置に接続するための接続string Atlasを示しています。

client = mongoc_client_new ("mongodb+srv://<db_username>:<db_password>@<hostname>/?<options>");

Atlas への接続の詳細については、 「接続ターゲットの選択」ガイドの Atlas を参照してください。

次のコードは、レプリカセットに接続するための接続stringを示しています。

client = mongoc_client_new ("mongodb+srv://<replica-set-member>/?replicaSet=<replica_set_name>");

レプリカセットへの接続の詳細については、 「接続ターゲットの選択」ガイドの「 レプリカセット 」を参照してください。

次のセクションでは、 TLSプロトコルを有効にしながらMongoDBに接続する方法について説明します。

Cドライバーで TLS を使用する方法の詳細については、「 トランスポート層セキュリティ (TLS) の構成 」を参照してください。

次のタブでは、接続で TLS を有効にする方法を示します。

client = mongoc_client_new("mongodb://<db_username>:<db_password>@<hostname>/?tls=true");
uri = mongoc_uri_new ("mongodb://localhost:27017");
mongoc_uri_set_option_as_bool (uri, MONGOC_URI_TLS, true);
client = mongoc_client_new_from_uri (uri);

TLS を有効にする方法の詳細については、TLS 構成ガイドの「 TLSを有効にする 」を参照してください。

次のタブでは、TLS を使用して接続するときにホスト名検証を無効にする方法を示します。

client = mongoc_client_new("mongodb://<db_username>:<db_password>@<hostname>/?tls=true&tlsAllowInvalidHostnames=true");
uri = mongoc_uri_new ("mongodb://localhost:27017");
mongoc_uri_set_option_as_bool (uri, MONGOC_URI_TLS, true);
mongoc_uri_set_option_as_bool (uri, MONGOC_URI_TLSALLOWINVALIDHOSTNAMES, true);
client = mongoc_client_new_from_uri (uri);

ホスト名検証を無効にする方法の詳細については、 TLS 構成ガイドの「 サーバー証明書の検証 」を参照してください。

次のセクションでは、ネットワーク圧縮アルゴリズムを指定しながら MongoDB に接続する方法について説明します。

次のタブは、MongoDB に接続するときに、利用可能なすべてのコンプレッサーを指定する方法を示しています。

client = mongoc_client_new("mongodb://<db_username>:<db_password>@<hostname>/?compressors=snappy,zlib,zstd");
uri = mongoc_uri_new ("mongodb://localhost:27017");
mongoc_uri_set_compressors (uri, "snappy,zlib,zstd");
client = mongoc_client_new_from_uri (uri);

次のタブは、 zlibコンプレッサーの圧縮レベルを指定する方法を示しています。

client = mongoc_client_new("mongodb://<db_username>:<db_password>@<hostname>/?compressors=zlib&zlibCompressionLevel=<zlib_compression_level");
uri = mongoc_uri_new ("mongodb://localhost:27017");
mongoc_uri_set_option_as_int32 (uri, MONGOC_URI_ZLIBCOMPRESSIONLEVEL, <zlib-compression-level>);
client = mongoc_client_new_from_uri (uri);

次のコードは、サーバー選択関数を指定する接続stringを示しています。

client = mongoc_client_new("mongodb://<db_username>:<db_password>@<hostname>/?server_selector=<selector_function>");

次のコードは、 mongoc_client_tインスタンス内で Stable API 設定を指定する方法を示しています。

client = mongoc_client_new ("mongodb+srv://<db_username>:<db_password>@<hostname>/?<options>");
// Set the version of the Stable API on the client
mongoc_server_api_t *api = mongoc_server_api_new(MONGOC_SERVER_API_V1);
mongoc_client_set_server_api(client, api, &error);
// Do database work here
mongoc_server_api_destroy (api);

Stable API の詳細については、「 Stable API 」を参照してください。

戻る

次のステップ