定義
パラメーター
$documents
: 配列- コレクションに挿入するドキュメント。
$options
: 配列必要なオプションを指定する配列。
名前タイプ説明bypassDocumentValidation
ブール値
true
の場合、書込み操作によってドキュメント レベルの検証を回避できます。 デフォルトはfalse
です。コーデック
MongoDB\Codec\DocumentCodec
comment
混合
ユーザーが任意のコメントを指定して、 データベースプロファイラ、 currentOp出力、ログから操作を追跡できるようにします。
このオプションは MongoDB 4.4 以降で使用可能であり、古いサーバー バージョンで指定すると実行時に例外が発生します。
バージョン 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' => 'admin@example.com', 'name' => 'Admin User', ], [ 'username' => 'test', 'email' => 'test@example.com', '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 マニュアル)