MongoDB に接続する
1
2
C++ドライバーアプリケーションの作成
次のコードをコピーして、 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
接続文字列の割り当て
プレースホルダーを、このガイドの 接続文字列の string<connection string>
ステップからコピーした接続string に置き換えます。
4
C++アプリケーションの実行
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 配置に接続し、サンプル データに対してクエリを実行し、結果を出力する動作するアプリケーションが作成されます。
注意
この手順で問題が発生した場合は、 MongoDB Community フォーラムでサポートを依頼するか、このページの右側または右下にある Rate this pageタブを使用してフィードバックを送信してください。