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

MongoDB\Database::createCollection()

MongoDB\Database::createCollection()

コレクションを明示的に作成します。

function createCollection(
string $collectionName,
array $options = []
): void

MongoDB では、新しいコレクションにドキュメントを挿入する場合など、コマンドで最初にコレクションを参照すると暗黙的にコレクションが作成されます。 また、 MongoDB\Database::createCollection()メソッドを使用するか、MongoDB shell でdb.createCollection()を使用して、特定のオプションで明示的にコレクションを作成することもできます。

コレクションを明示的に作成すると、 Capped コレクションの作成、ドキュメント検証条件の指定 、または ストレージエンジンやインデックス作成オプションの構成 ができます。

$collectionName : string
作成するコレクションの名前。
$options : 配列

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

注意

MongoDB のすべてのバージョンですべてのオプションが使用できるわけではありません。 互換性に関する考慮事項については、MongoDB マニュアルのcreateコマンド リファレンスを参照してください。

名前
タイプ
説明

Capped

ブール値

上限付きコレクションを作成するには、 trueを指定します。 trueを指定する場合は、 sizeオプションで最大サイズを設定する必要もあります。

changeStreamPreAndPostImages

ドキュメント

変更ストリーム で変更前と変更後のイメージのサポートを構成するために使用されます。 詳細については、「作成コマンドのドキュメント 」を参照してください。

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

1.13バージョン の新機能。:

clusteredIndex

ドキュメント

クラスター化されたインデックスの仕様。 詳細については、「クラスター化されたコレクション 」または「作成コマンドのドキュメント 」を参照してください。

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

1.13バージョン の新機能。:

collation

array|object

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

comment

混合

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

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

1.13バージョン の新機能。:

暗号化されたフィールド

ドキュメント

Queryable Encryption の暗号化されたフィールドを説明するドキュメント。 省略した場合、 autoEncryptionドライバー オプション内のencryptedFieldsMapオプションが参照されます。 詳細については、MongoDB マニュアルの 「フィールドの暗号化とクエリ可能性」 を参照してください。

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

1.13バージョン の新機能。:

expireAfterSeconds

integer

時系列コレクション内のドキュメントを自動的に削除するために使用されます。 詳細については、「作成コマンドのドキュメント 」を参照してください。

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

1.9バージョン の新機能。:

indexOptionDefaults

array|object

ユーザーがコレクションの作成時にインデックスのデフォルト構成を指定できるようにします。

indexOptionDefaults オプションは、次の形式をとる storageEngine ドキュメントを受け入れます。

{ <storage-engine-name>: <options> }

インデックスの作成時に指定されたストレージエンジン構成は、異なるストレージエンジンを使用するノードのあるレプリカセットをサポートするために、レプリケーション中に検証され、 oplogに記録されます。

最大

integer

Capped コレクションで許可されるドキュメントの最大数。 sizeオプションはこの制限よりも優先されます。 上限付きコレクションがドキュメントの最大数に達する前にsizeの制限に達した場合、MongoDB は古いドキュメントを削除します。 max制限の使用を優先する場合は、上限付きコレクションに必要なsize制限をドキュメントの最大数を十分に超える値に設定してください。

maxTimeMS

integer

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

パイプライン

配列

集計パイプライン ステージで構成される配列。これは、 viewOnで指定されたコレクションまたはビューに適用されます。 詳細については、「作成コマンドのドキュメント 」を参照してください。

1.13バージョン の新機能。:

セッション

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

1.3バージョン の新機能。:

サイズ

integer

上限付きコレクションの最大サイズをバイト単位で指定します。 MongoDB は、上限付きコレクションが最大サイズに達すると、古いドキュメントを削除して新しいドキュメント用スペースを確保します。 sizeオプションは、上限付きコレクションに必須であり、他のコレクションでは無視されます。

ストレージエンジン用

array|object

WiredTiger ストレージエンジンでのみ使用できます。

コレクション作成時に、ユーザーがコレクションごとにストレージエンジンの構成を指定できるようにします。storageEngine オプションの値は、次の形式になります。

{ <storage-engine-name>: <options> }

コレクション作成時に指定されたストレージエンジンの設定は、レプリカセット内で異なるストレージエンジンを使用するメンバーをサポートするために、複製中にoplogに検証され、ログが記録されます。

時系列

array|object

時系列コレクションを作成するためのオプションを含むオブジェクト。 サポートされているオプションについては、 createコマンドのドキュメント を参照してください。

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

1.9バージョン の新機能。:

typeMap

配列

カーソルに適用するタイプ マップ。BSON ドキュメントをPHP値に変換する方法を決定します。データベースのタイプ マップがデフォルトで設定されます。

これは返されたコマンドの結果ドキュメントに使用されます。

validationAction

string

無効なドキュメントで error を発行するか、違反に関する warn のみに留め、無効なドキュメントを挿入できるようにするかを指定します。

重要: ドキュメントの検証は、validationLevelによって決定されたドキュメントにのみ適用されます。

validationAction
説明

"error"

デフォルトは。 ドキュメントは、書込みが行われる前に検証に合格する必要があります。 合格していない場合は、書込み操作に失敗します。

"warn"

ドキュメントは検証に合格する必要はありません。ドキュメントがバリデーションに失敗した場合、書込み操作はバリデーションの失敗をログに記録します。

validationLevel

string

更新中に MongoDB が既存のドキュメントに検証ルールをどの程度厳密に適用するかを決定します。

validationLevel
説明

"off"

挿入またはアップデートの検証は行われません。

"strict"

デフォルトは。 すべての挿入とすべてのアップデートに検証ルールを適用します。

"moderate"

既存の有効なドキュメントの挿入とアップデートに検証ルールを適用します。既存の無効なドキュメントのアップデートにはルールは適用しません。

validator

array|object

ユーザーがコレクションの検証ルールまたは式を指定できるようにします。 詳細については、MongoDB マニュアルの 「ドキュメント検証」 を参照してください。

validatorオプションは、検証ルールまたは式を指定する配列を受け取ります。 MongoDB のクエリ演算子と同じ演算子を使用して式を指定できます。ただし、 $near$nearSphere$text$whereは対象外です。

検証はアップデートや挿入中に行われます。既存のドキュメントは、変更されるまで検証チェックを受けません。

adminlocal、および config データベース内のコレクションに対してバリデーターを指定することはできません。

system.* コレクションにバリデーターを指定することはできません。

viewOn

string

ビューの作成元となるソース コレクションまたはビューの名前。

名前はコレクションまたはビューの完全な名前空間ではありません(つまり、データベース名が含まれていない)。 ビューは、ソース コレクションまたはビューと同じデータベースに作成する必要があります。

1.13バージョン の新機能。:

writeConcern

操作に使用する書込み保証 ( write concern )。 データベースの書込み保証 (write concern) のデフォルト。

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

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

MongoDB$Driver\Exception\RuntimeException は、拡張レベルの他のエラーの場合(例:)。

次の例では、ドキュメント検証条件を使用してtestデータベースにusersコレクションを作成します。

<?php
$db = (new MongoDB\Client)->test;
$db->createCollection('users', [
'validator' => [
'username' => ['$type' => 'string'],
'email' => ['$regex' => '@mongodb\.com$'],
],
]);