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

MongoDB\Collection::createIndex()

項目一覧

  • 定義
  • パラメーター
  • Return Values
  • エラーと例外
  • その他の参照
MongoDB\Collection::createIndex()

コレクションの インデックス を作成します。

function createIndex(
array|object $key,
array $options = []
): string
$key : array|object

インデックスを作成するフィールドとインデックスの順序を指定します。

たとえば、次の例では、 usernameフィールドに降順のインデックスを指定しています。

[ 'username' => -1 ]
$options : 配列

必要なオプションを指定する配列。

$optionsパラメータは、インデックス オプションコマンド オプションの両方を受け入れます。 インデックス オプションの非網羅的なリストは次のとおりです。 インデックス オプションの完全なリストについては、MongoDB マニュアルの createIndexesコマンドに関する参考資料を参照してください。

インデックス オプション(非排他的)

collation
array|object

照合順序を指定すると、大文字や小文字、アクセント記号など、string を比較するための言語独自のルールを指定できます。 照合を指定する場合、 localeフィールドは必須です。その他の照合フィールドはすべてオプションです。 フィールドの説明については、 「照合ドキュメント」 を参照してください。

照合が指定されていないが、コレクションにデフォルトの照合がある場合、操作はコレクションに指定された照合を使用します。 コレクションにも操作にも照合が指定されていない場合、MongoDB では以前のバージョンで使用されていた単純なバイナリ比較によって string が比較されます。

expireAfterSeconds

integer

TTLインデックスを作成します。

name

string

インデックスを一意に識別する名前。 デフォルトでは、MongoDB は キーに基づいてインデックス名を作成します。

部分フィルター式

array|object

部分インデックスを作成します。

sparse

ブール値

スパースインデックスを作成します。

unique

ブール値

一意のインデックスを作成します。

コマンド オプション

名前
タイプ
説明

comment

混合

データベースプロファイラcurrentOp出力、およびログから操作を追跡するのに役立つ任意のコメントを指定できるようにします。

このオプションは MongoDB 4.4 以降で使用可能であり、古いサーバー バージョンで指定すると実行時に例外が発生します。

バージョン 1.13 の新機能

commitQuorum

string|integer

プライマリがインデックスを準備完了とマークする前に、プライマリがインデックス ビルドを正常に完了する必要があるレプリカセットのデータを持つノードの数を指定します。

このオプションは、書込み保証(write concern)のwフィールドと"votingMembers"の同じ値を受け入れます。これは、投票権を持つデータを保持するすべてのノードを示します。

これは 4.4 より前のサーバー バージョンではサポートされていないため、使用された場合は実行時に例外が発生します。

バージョン 1.7 の新機能

maxTimeMS

integer

カーソルに対する情報処理操作の累積時間制限(ミリ秒単位)。 MongoDB は、次の割り込みポイントが最も近い時点で操作を中止します。

バージョン 1.3 で追加

セッション

操作に関連付けるクライアント セッション。

バージョン 1.3 で追加

writeConcern

操作に使用する書込み保証 ( write concern )。 コレクションの書込み保証 (write concern) のデフォルトです。

トランザクションの一部である個々の操作に対して書込み保証 (write concern) を指定することはできません。 代わりに 、トランザクションを開始する ときにwriteConcern オプションを設定します。

作成されたインデックスの名前を string として表します。

MongoDB\Exception\UnsupportedExceptionオプションが使用され、選択したサーバーでサポートされていない場合(例: collationreadConcernwriteConcern )。

MongoDB\Exception\InvalidArgumentException は、パラメータまたはオプションの解析に関連するエラーの場合は です。

MongoDB\Driver\Exception\RuntimeException 拡張レベルのその他のエラー(例:)。

次の例では、 boroughcuisinerestaurantsデータベースのtest コレクション内の フィールドと フィールドに 複合インデックス を作成します。

<?php
$collection = (new MongoDB\Client)->selectCollection('test', 'restaurants');
$indexName = $collection->createIndex(['borough' => 1, 'cuisine' => 1]);
var_dump($indexName);

出力は次のようになります。

string(19) "borough_1_cuisine_1"

次の例では、 testデータベースのrestaurantsコレクションのboroughフィールドに部分インデックスを追加します。 部分インデックスは、 boroughフィールドが存在するドキュメントのみをインデックスします。

<?php
$collection = (new MongoDB\Client)->selectCollection('test', 'restaurants');
$indexName = $collection->createIndex(
['borough' => 1],
[
'partialFilterExpression' => [
'borough' => ['$exists' => true],
],
]
);
var_dump($indexName);

出力は次のようになります。

string(9) "borough_1"

戻る

CountDocuments()