Docs Menu

MongoDB\Collection::insertOne()

MongoDB\Collection::insertOne()

ドキュメントを 1 つ挿入します。

function insertOne(
array|object $document,
array $options = []
): MongoDB\InsertOneResult
$document : array|object
コレクションに挿入するドキュメント。
$options : 配列

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

名前
タイプ
説明

bypassDocumentValidation

ブール値

trueの場合、書込み操作によってドキュメント レベルの検証を回避できます。 デフォルトはfalseです。

コーデック

MongoDB\Codec\DocumentCodec

ドキュメントをエンコードまたはデコードするために使用するコーデック。 このオプションはtypeMapオプションと相互に排他的です。

デフォルトはコレクションのコーデック。 デフォルトのcodecオプションの継承は、 typeMapオプションの継承よりも優先されます。

バージョン 1.17 の新機能

comment

混合

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

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

バージョン 1.13 の新機能

セッション

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

バージョン 1.3 で追加

writeConcern

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

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

MongoDB\InsertOneResultMongoDB\Driver\WriteResult をカプセル化する オブジェクト オブジェクト。

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

MongoDB\Driver\Exception\BulkWriteException 書込み (write) 操作に関連するエラーの場合ユーザーは getWriteResult() によって返された値を調べる必要があります。 エラーの内容を判断します。

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

MongoDB\Driver\Exception\BulkWriteException の場合 がスローされる場合は、 getWriteResult() を呼び出す必要があります。 返された MongoDB\Driver\WriteResult を検査します エラーの内容を決定するための オブジェクト。

例えば、書込み (write) 操作はプライマリ サーバーに正常に適用されたが、書込み保証 (write concern) を満たすには失敗した場合(例: レプリケーションに時間がかかりすぎました)。 あるいは、書込み (write) 操作が完全に失敗した可能性があります(例: 一意なキー違反)。

次の操作は、 testデータベース内のusersコレクションにドキュメントを挿入します。

<?php
$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"
}