定義
パラメーター
$documents
: 配列- コレクションに挿入するドキュメント。
$options
: 配列必要なオプションを指定する配列。
名前タイプ説明bypassDocumentValidation
ブール値
true
の場合、書込み操作によってドキュメント レベルの検証を回避できます。 デフォルトはfalse
です。コーデック
MongoDB\Codec\DocumentCodec
comment
混合
ユーザーが任意のコメントを指定して、 データベースプロファイラ、 currentOp出力、ログから操作を追跡できるようにします。
このオプションを使用するには、 MongoDB 6.0 以降に接続する必要があります。以前のバージョンに接続している場合、サーバーは実行時に例外を返します。
バージョン 1.13 の新機能。
ordered
ブール値
true
の場合: 1 つの書き込みが失敗すると、残りの書き込みを実行せず操作は停止し、例外がスローされます。false
の場合: 1 つの書き込みが失敗すると、操作は残りの書き込みがある場合は続行され、例外がスローされます。デフォルトは
true
です。セッション
操作に関連付けるクライアント セッション。
バージョン 1.3 で追加。
writeConcern
操作に使用する書込み保証 ( write concern )。 コレクションの書込み保証 (write concern) のデフォルトです。
トランザクションの一部である個々の操作に対して書込み保証 (write concern) を指定することはできません。 代わりに 、トランザクションを開始する ときに
writeConcern
オプションを設定します。
Return Values
MongoDB\InsertManyResult
MongoDB\Driver\WriteResult をカプセル化する オブジェクト オブジェクト。
エラーと例外
MongoDB\Exception\InvalidArgumentException
は、パラメータまたはオプションの解析に関連するエラーの場合は です。
書込み (write)操作に関連するエラーについては、 MongoDB $Driver\Exception\BulkWriteException を参照してください。getWriteResult() によって返される値を調べて、エラーの内容を判断できます。
MongoDB\Driver\Exception\RuntimeException 拡張レベルのその他のエラー(例:)。
動作
MongoDB\Driver\Exception\BulkWriteException がスローされた場合は、 getWriteResult() を呼び出し、返されたMongoDB\Driver\WriteResultオブジェクトを調べて、エラーの内容を判断できます。
例えば、書込み (write) 操作はプライマリ サーバーに正常に適用されたが、書込み保証 (write concern) を満たすには失敗した場合(例: レプリケーションに時間がかかりすぎました)。 あるいは、書込み (write) 操作が完全に失敗した可能性があります(例: 一意なキー違反)。
一括書き込みの場合、結果は複数の書き込み操作の成功やエラーを示すことがあります。ordered
オプションが true
の場合、最初のエラーが発生して例外がスローされる前に一部の操作が成功している可能性があります。ordered
オプションが false
の場合、複数のエラーが発生した可能性があります。
例
次の操作では、 test
データベース内のusers
コレクションに 2 つのドキュメントが挿入されます。
$collection = (new MongoDB\Client)->test->users; $insertManyResult = $collection->insertMany([ [ 'username' => 'admin', 'email' => '[email protected]', 'name' => 'Admin User', ], [ 'username' => 'test', 'email' => '[email protected]', 'name' => 'Test User', ], ]); printf("Inserted %d document(s)\n", $insertManyResult->getInsertedCount()); var_dump($insertManyResult->getInsertedIds());
出力は次のようになります。
Inserted 2 document(s) array(2) { [0]=> object(MongoDB\BSON\ObjectId)#11 (1) { ["oid"]=> string(24) "579a25921f417dd1e5518141" } [1]=> object(MongoDB\BSON\ObjectId)#12 (1) { ["oid"]=> string(24) "579a25921f417dd1e5518142" } }
その他の参照
insertコマンドリファレンス(MongoDB マニュアル)