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に接続する場合は、公式ドライバーのリストを参照してください。

1

このチュートリアルを開始する前に、開発環境に次の依存関係がインストールされていることを確認してください。

注意

C++17 より前の構成

C++11 はサポートされている最小言語バージョンですが、このチュートリアルでは、Choose a C++17 Polyfill セクションで推奨されている C++17 標準ライブラリを使用するように C++ ドライバーを構成します。C++17 より前の構成のドライバーをインストールする場合は、CMAKE_CXX_STANDARD 構成オプションをC++バージョンに設定します。次に、ドライバーは必要なC++17 機能に bsoncxx ライブラリの polyfill 実装を自動的に使用します。

2

リポジトリから最新バージョンのC++ ドライバーをダウンロードするには、ルートディレクトリからmongo-cxx-driverGithub shellで次のコマンドを実行します。

curl -OL https://github.com/mongodb/mongo-cxx-driver/releases/download/r3.11.1/mongo-cxx-driver-r3.11.1.tar.gz
tar -xzf mongo-cxx-driver-r3.11.1.tar.gz
cd mongo-cxx-driver-r3.11.1/build
3

オペレーティング システムに対応するタブを選択し、 mongo-cxx-driver-r3.11.1/buildディレクトリから次のコマンドを実行します。

cmake .. \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_CXX_STANDARD=17

このコマンドは、 mongocxx/usr/localディレクトリにインストールするように CSpec に指示します。

'C:\<path>\cmake.exe' .. \
-G "Visual Studio <version> <year>" -A "x64" \
-DCMAKE_CXX_STANDARD=17 \
-DCMAKE_INSTALL_PREFIX=C:\mongo-cxx-driver \

このコマンドは、 mongocxxC:\mongo-cxx-driverディレクトリにインストールするように CSpec に指示します。 以下のプレースホルダー値を置き換えます。

  • <path>: CMax 実行可能ファイルへのパス

  • <version>: Visual Studio のバージョン番号

  • <year>: Visual Studio のバージョンに対応する年

4

オペレーティング システムに対応するタブを選択し、次のコマンドを実行してドライバーをインストールします。

cmake --build .
sudo cmake --build . --target install
cmake --build . --config Release
cmake --build . --config Debug
cmake --install . --config Release
cmake --install . --config Debug

注意

Windowsビルド構成

ビルド構成の競合によるWindowsリンク エラーを回避するには、上記のコマンドで Release 構成と Debug 構成の両方をビルドしてインストールします。これらの構成の詳細については、 APIおよび ABI バージョン管理ガイドの 「共有ライブラリ(MSV のみ)」 を参照してください。

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

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

1

MongoDB の使用開始ガイドを完了して、新しい Atlas アカウントを設定し、サンプルデータを新しい無料階層のMongoDB配置にロードします。

2

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

これらの手順を完了すると、Atlas に新しい無料階層の MongoDB 配置が作成され、データベースユーザーの認証情報が作成され、データベースに サンプル データがロードされます 。

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

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

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

1

To retrieve your connection string for the deployment that you created in the previous step, log into 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が作成されます。

1

ルートディレクトリから、 shellで次のコマンドを実行して、このプロジェクト用に cpp-quickstart というディレクトリを作成します。

mkdir cpp-quickstart

次のコマンドを実行して、 cpp-quickstartディレクトリにquickstart.cppアプリケーションファイルを作成します。

cd cpp-quickstart
touch quickstart.cpp
2

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

#include <cstdint>
#include <iostream>
#include <vector>
#include <bsoncxx/builder/basic/document.hpp>
#include <bsoncxx/json.hpp>
#include <mongocxx/client.hpp>
#include <mongocxx/instance.hpp>
#include <mongocxx/uri.hpp>
using bsoncxx::builder::basic::kvp;
using bsoncxx::builder::basic::make_document;
int main() {
mongocxx::instance instance;
mongocxx::uri uri("<connection string>");
mongocxx::client client(uri);
auto db = client["sample_mflix"];
auto collection = db["movies"];
auto result = collection.find_one(make_document(kvp("title", "The Shawshank Redemption")));
std::cout << bsoncxx::to_json(*result) << std::endl;
}
3

<connection string> プレースホルダーを、このガイドの接続文字列の作成ステップからコピーした接続文字列に置き換えます。

4

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

c++ --std=c++17 quickstart.cpp $(pkg-config --cflags --libs libmongocxx) -o ./app.out
./app.out

Tip

MacOS ユーザーは、上記のコマンドを実行中すると、次のエラーが表示される場合があります。

dyld[54430]: Library not loaded: @rpath/libmongocxx._noabi.dylib

このエラーを解決するには、次のコードに示すように、 -Wl,-rpathリンク オプションを使用して@rpathを設定します。

c++ --std=c++17 quickstart.cpp -Wl,-rpath,/usr/local/lib/ $(pkg-config --cflags --libs libmongocxx) -o ./app.out
./app.out

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

{ "_id" : { "$oid" : "573a1399f29313caabceeb20" },
"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.cpp ファイルに適切な接続stringが指定されており、サンプル データがロードされていることを確認してください。

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

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

注意

If you run into issues in this tutorial, ask for help in the MongoDB Stack Overflow page or in the MongoDB Reddit community, or submit feedback by using the Rate this page tab on the right or bottom right side of this page.

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

次のリソースからC++ドライバーの詳細を学習するには:

このページを評価