Docs Menu
Docs Home
/ / /
PHP ライブラリ マニュアル
/

複合インデックス

項目一覧

  • Overview
  • サンプル データ
  • 複合インデックスの作成
  • 詳細情報
  • API ドキュメント

複合インデックスは、コレクションのドキュメント内の複数のフィールドへの参照を保持し、クエリとソートのパフォーマンスを向上させます。 MongoDB\Collection::createIndex()メソッドとの単一フィールドインデックスの作成に使用するのと同じ構文を使用して、コレクションに複合インデックスを作成できます。

このガイドの例では、 Atlas サンプル データセットsample_mflixデータベースのmoviesコレクションを使用します。 MongoDB Atlas クラスターを無料で作成して、サンプル データセットをロードする方法については、 「 Atlas を使い始める 」ガイドを参照してください。

複合インデックスを作成するには、 MongoDB\Collection::createIndex()メソッドを使用します。 次の例では、 フィールドと フィールドに昇順でインデックスを作成します。titleyear

$indexName = $collection->createIndex(
['title' => 1, 'year' => 1]
);

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

$document = $collection->findOne(
['title' => ['$regex' => 'Sunrise'],
'year' => ['$gte' => 1990]]
);
echo json_encode($document), PHP_EOL;
{"_id":...,"title":"Before Sunrise",...,"year":1995,...}

複合インデックスの詳細については、 マニュアルの「 複合インデックスMongoDB Server 」を参照してください。

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

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

戻る

単一フィールド インデックス