定義
パラメーター
$document
: array|object- コレクションに挿入するドキュメント。
$options
: 配列必要なオプションを指定する配列。
名前タイプ説明bypassDocumentValidation
ブール値
true
の場合、書込み操作によってドキュメント レベルの検証を回避できます。 デフォルトはfalse
です。コーデック
MongoDB\Codec\DocumentCodec
comment
混合
ユーザーが任意のコメントを指定して、 データベースプロファイラ、 currentOp出力、ログから操作を追跡できるようにします。
このオプションは MongoDB 4.4 以降で使用可能であり、古いサーバー バージョンで指定すると実行時に例外が発生します。
バージョン 1.13 の新機能。
セッション
操作に関連付けるクライアント セッション。
バージョン 1.3 で追加。
writeConcern
操作に使用する書込み保証 ( write concern )。 コレクションの書込み保証 (write concern) のデフォルトです。
トランザクションの一部である個々の操作に対して書込み保証 (write concern)を指定することはできません。代わりに、トランザクションを開始するときに
writeConcern
オプションを設定します。
Return Values
MongoDB\InsertOneResult
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) 操作が完全に失敗した可能性があります(例: 一意なキー違反)。
例
次の操作は、 test
データベース内のusers
コレクションにドキュメントを挿入します。
$collection = (new MongoDB\Client)->test->users; $insertOneResult = $collection->insertOne([ 'username' => 'admin', 'email' => 'admin@example.com', 'name' => 'Admin User', ]); printf("Inserted %d document(s)\n", $insertOneResult->getInsertedCount()); var_dump($insertOneResult->getInsertedId());
出力は次のようになります。
Inserted 1 document(s) object(MongoDB\BSON\ObjectId)#11 (1) { ["oid"]=> string(24) "579a25921f417dd1e5518141" }
その他の参照
insertコマンドリファレンス(MongoDB マニュアル)