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

複合インデックス

複合インデックス は、コレクションのドキュメント内の複数のフィールドへの参照を保持するインデックスです。これらのインデックスにより、マルチフィールドのクエリとソートのパフォーマンスが向上します。

複合インデックスを作成するには、create_index() メソッドを呼び出して、次の情報を含むドキュメントを指定します。

  • インデックスを作成するフィールド。

  • インデックス値のソート順。 昇順には「1」を使用し、降順には「-1」を使用します。

The examples in this guide use the movies collection in the sample_mflix database from the Atlas sample datasets. To access this collection from your C++ application, instantiate a mongocxx::client that connects to an Atlas cluster and assign the following values to your db and collection variables:

auto db = client["sample_mflix"];
auto collection = db["movies"];

MongoDB Atlasクラスターを無料で作成して、サンプルデータセットをロードする方法については、MongoDBを使い始めるガイドを参照してください。

次の例では、title フィールドと year フィールドに昇順の複合インデックスを作成しています。

auto index_specification = make_document(kvp("title", 1), kvp("year", 1));
auto result = collection.create_index(index_specification.view());

次のクエリは、前のコード例で作成されたインデックスによってカバーされています。

auto document = collection.find_one(make_document(kvp("title","Peter Pan"), kvp("year", 1924)));
std::cout << bsoncxx::to_json(*document) << std::endl;

インデックスを管理する方法を示す実行可能な例については、「 インデックスを使用したクエリの最適化 」を参照してください。

インデックスの詳細については、 MongoDB Serverマニュアルの次のリソースを参照してください。

このガイドで説明されているメソッドの詳細については、次のAPIドキュメントを参照してください。