AI エージェント向け: ドキュメントインデックスは https://www.mongodb.com/ja-jp/docs/llms.txt で利用できます。すべてのページの markdown バージョンは、いずれかの URL パスに .md を追加することで利用できます。
Docs Menu

Cドライバーを使い始める

MongoDB Cドライバーは、 MongoDBに接続し、配置に保存されているデータを操作するために使用できるCライブラリです。 このガイドでは、 Cドライバー を使用してMongoDB AtlasでホストされているMongoDBクラスターに接続し、クラスター内のデータをクエリするアプリケーションを作成する方法について説明します。

Tip

MongoDB Atlas は、MongoDB 配置をホストする完全管理のクラウドデータベース サービスです。このガイドの手順に従い、独自の無料(クレジット カード不要)MongoDB Atlas 配置を作成できます。

このガイドに従って、サンプルCアプリケーションをMongoDB Atlas配置に接続します。別のドライバーまたはプログラミング言語を使用してMongoDBに接続する場合は、公式ドライバーのリストを参照してください。

Cドライバーは、libbson と libmongoc の 2 つのライブラリで構成されています。 このガイドでは、libbson にバンドルされている libmongoc をインストールする方法を説明します。

Cドライバーは、パッケージマネージャーを使用するか、ソースからライブラリをインストールしてインストールできます。 パッケージマネージャーを使用してインストールすると、Linuxバージョンのドライバーがインストールされます。 このため、ドライバーをインストールする前に、ディストリビューションに含まれているバージョンを確認する必要があります。

RedHat Enterprise Linux (RHEL) ディストリビューションでは、 シェルで次のコマンドを実行中てバージョンを確認できます。

sudo dnf info mongo-c-driver-devel

Debian ベースのディストリビューションでは、 シェルで次のコマンドを実行中てバージョンを確認できます。

apt-cache policy libmongoc-dev

使用可能なドライバーのバージョンが必要なバージョンと異なる場合は、ソースからドライバーをインストールできます。ソースからドライバーをインストールする方法については、カスタムインストール: ソースからCドライバーライブラリを構築するガイドを参照してください。

パッケージマネージャーを使用してドライバーをインストールする方法については、ご使用のオペレーティング システムに対応するタブを選択してください。

次のようなRedHat Enterprise Linux (RHEL)ディストリビューションまたは7 RHEL に基づくディストリビューションにドライバーをインストールできます。

Fedlas を含む RHEL ディストリビューションにドライバーをインストールする前に、まず Enterprise Linux用の追加パッケージ(OPEL)リポジトリを有効にする必要があります。 次の例に示すように、epel-releaseパッケージ をインストールすることで EELリポジトリを有効にできます。

yum install epel-release

次に、yum を使用してCドライバーをインストールできます。 これを行うには、 シェルで次のコマンドを実行します。

yum install mongo-c-driver-devel

注意

開発者パッケージ

上記のコード例では、 Cドライバーを使用するアプリケーションを構築するために必要な開発者パッケージがインストールされています。 開発ファイルを使用せずにライブラリのみをインストールするには、次のコマンドを実行します。

yum install mongo-c-driver

バージョン 8 以降の RHEL ディストリビューションにインストールしている場合は、yum ではなく dnf を使用して上記のコード例を実行中をお勧めします。

If you are using Fedora or an enterprise Linux distribution of version 8 or later, you can install the driver by using the same commands as shown in the preceding example and replacing yum with dnf.

次の例は、 Cドライバーをフェデレーションにインストールする方法を示しています。

dnf install mongo-c-driver-devel

UbuntuおよびUbuntuの派生製品を含む Debian ベースのLinuxディストリビューションでは、ドライバー ライブラリは 高度なパッケージング ツール(UTT)を通じて利用できます。 シェルで次のコマンドを実行中と、APT を使用してドライバーをインストールできます。

apt install libmongoc-dev

上記のコード例では、 Cドライバーを使用するアプリケーションを構築するために必要な開発者パッケージがインストールされています。 開発ファイルを使用せずにライブラリのみをインストールするには、次のコマンドを実行します。

apt install libmongoc-1.0-0

これらの手順を完了すると、マシンにCドライバーがインストールされます。

MongoDB Atlas で無料のクラスターを作成して、データを保存および管理できます。MongoDB Atlas は、クラウドで MongoDB データベースをホストし、管理します。

1

Complete the MongoDB Get Started guide to set up a new Atlas account and load sample data into a new free tier MongoDB deployment.

2

データベースユーザーを作成したら、そのユーザーのユーザー名とパスワードを安全な場所に保存して、後の手順で使用します。

これらの手順を完了すると、Atlas に新しい無料クラスター、データベースユーザーの認証情報、およびデータベースにロードされたサンプルデータが用意されます。

MongoDB配置に接続するには、 接続string とも呼ばれる 接続 URIMongoDB を提供します。これは、 配置に接続する方法と接続中の動作をドライバーに指示します。

接続stringには、配置のホスト名またはIPアドレスとポート、認証メカニズム、ユーザー認証情報(該当する場合)、および接続オプションが含まれます。

Atlas でホストされていないインスタンスまたは配置に接続するには、 「 接続ターゲットの選択 」ガイドを参照してください。

1

To retrieve your connection string for the deployment that you created in the previous step, log in to your Atlas account and navigate to the Clusters page under the Database section. Click the Connect button for your new deployment.

Atlas UI のクラスター セクションの接続ボタン

データベースユーザーをまだ設定していない場合、 MongoDB は新しいユーザーを作成して設定するように要求します。

Connect to your application セクションの下の Drivers ボタンをクリックし、Driver 選択メニューから「C」を選択し、Version 選択メニューからインストールしたバージョンに最適なバージョンを選択します。

接続文字列のみを表示するには、View full code sample オプションが選択されていないことを確認します。

2

次のスクリーンショットに示すように、接続文字列の右側にある ボタンをクリックして、接続stringをクリップボードにコピーします。

UIの接続 の横にあるコピーボタンstringAtlas
3

この接続文字列をテキストエディタのファイルに貼り付け、<db_password> プレースホルダーをデータベースユーザーのパスワードに置き換えます。接続文字列には、すでにデータベースユーザーのユーザー名が入力されています。

このファイルを安全な場所に保存して、次の手順で使用します。

これらの手順を完了すると、 クラスターに対応する接続string Atlasが作成されます。

MongoDBデプロイに接続し、sample_mflixデータベースの moviesコレクションからデータを取得するアプリケーションを作成できます。

To learn more about the sample_mflix database, see Sample Mflix Dataset in the Atlas documentation.

1

シェルで、アプリケーションを作成する場所に移動し、次のコマンドを実行して、このプロジェクト用に c-quickstart というディレクトリを作成します。

mkdir c-quickstart

オペレーティング システムに対応するタブを選択し、次のコマンドを実行して、 c-quickstartディレクトリにquickstart.cアプリケーション ファイルを作成します。

cd c-quickstart
touch quickstart.c
2

次のコードをコピーして、 quickstart.cファイルに貼り付けます。このコードは、 sample_mflixデータベース内のmoviesコレクションをクエリします。

#include <bson/bson.h>
#include <mongoc/mongoc.h>
#include <stdio.h>
int
main(void)
{
const bson_t *doc;
mongoc_init();
mongoc_client_t *client = mongoc_client_new("<connection string>");
mongoc_collection_t *collection = mongoc_client_get_collection(client, "sample_mflix", "movies");
// Specify the query filter
bson_t *query = BCON_NEW("title", "The Shawshank Redemption");
mongoc_cursor_t *results = mongoc_collection_find_with_opts(collection, query, NULL, NULL);
// Print the results
while (mongoc_cursor_next(results, &doc))
{
char* str = bson_as_canonical_extended_json(doc, NULL);
printf("%s\n", str);
bson_free(str);
}
bson_destroy(query);
mongoc_cursor_destroy(results);
mongoc_collection_destroy(collection);
mongoc_client_destroy(client);
mongoc_cleanup();
return EXIT_SUCCESS;
}
3

Replace the <connection string> placeholder with the connection string that you copied from the Create a Connection String step of this guide.

4

shellで次のコマンドを実行し、このアプリケーションをコンパイルして実行します。

gcc -o quickstartc quickstart.c $(pkg-config --libs --cflags libmongoc-1.0)
./quickstartc

コマンドライン出力には、検索された映画ドキュメントの詳細が含まれます。

{ "_id" : { "$oid" : "..." },
"plot" : "Two imprisoned men bond over a number of years, finding solace
and eventual redemption through acts of common decency.",
...
"title" : "The Shawshank Redemption",
...

エラーが発生した場合や出力が表示されない場合は、quickstart.c ファイルに適切な接続stringが指定されており、サンプル データがロードされていることを確認してください。

これらの手順を完了すると、ドライバーを使用して MongoDB 配置に接続し、サンプル データに対してクエリを実行し、結果を出力する動作するアプリケーションが作成されます。

クイック スタート チュートリアルを完了しました。

注意

このチュートリアルで問題が発生した場合は、 MongoDB Stack Overflowページ または MongoDB Reddit Community でサポートを依頼するか、このページの右側または右下にある Rate this pageタブを使用してフィードバックを送信してください。

このチュートリアルでは、 MongoDB AtlasでホストされているMongoDBデプロイに接続し、クエリに一致するドキュメントを検索するCアプリケーションを作成しました。

Cドライバーについて詳しくは、次のリソースを参照してください。