Overview
単一フィールド インデックスは、コレクションのドキュメント内の 1 つのフィールドへの参照を保持するインデックスです。これらのインデックスは、単一フィールドのクエリとソートのパフォーマンスを向上させます。また、特定の時間経過後または指定された時刻にコレクションからドキュメントを自動的に削除する TTL インデックス をサポートしています。
単一フィールドインデックスを作成するには、create_index() メソッドを呼び出して、次の情報を含むドキュメントを指定します。
インデックスを作成するフィールド。
インデックス値のソート順。 昇順には
1を使用し、降順には-1を使用します。
注意
デフォルトの _id_インデックスは、単一フィールドインデックスの例です。このインデックスは、新しいコレクションが作成されるときに、_idフィールドに自動的に作成されます。
サンプル データ
moviessample_mflixこのガイドの例では、Atlasサンプルデータセットの データベースの コレクションを使用します。 C++アプリケーションからこのコレクションにアクセスするには、Atlasmongocxx::client クラスターに接続する をインスタンス化し、 変数と 変数に次の値を割り当てます。dbcollection
auto db = client["sample_mflix"]; auto collection = db["movies"];
MongoDB Atlasクラスターを無料で作成して、サンプルデータセットをロードする方法については、MongoDBを使い始めるガイドを参照してください。
単一フィールド インデックスの作成
次の例では、create_index() メソッドを使用して、titleフィールドに昇順の単一フィールドインデックスを作成しています。
auto index_specification = make_document(kvp("title", 1)); auto result = collection.create_index(index_specification.view());
次のクエリは、前のコード例で作成されたインデックスによってカバーされています。
auto document = collection.find_one(make_document(kvp("title","Peter Pan"))); std::cout << bsoncxx::to_json(*document) << std::endl;
詳細情報
インデックスを管理する方法を示す実行可能な例については、インデックスを参照してください。
インデックスの詳細については、 MongoDB Serverマニュアルの次のリソースを参照してください。
API ドキュメント
このガイドで説明されているメソッドの詳細については、次のAPIドキュメントを参照してください。