MongoDB\Collection::insertOne()
定义
参数
$document
: array|object- 要插入到集合中的文档。
$options
: array指定所需选项的数组。
名称类型说明bypassDocumentValidation
布尔
如果为
true
,则允许写入操作规避文档级验证。默认为false
。编解码器
MongoDB\Codec\DocumentCodec
comment
混合
会话
与操作相关联的客户端会话。
1.3 版本中的新增功能。
writeConcern
Return Values
一个MongoDB\InsertOneResult
对象,其中封装了 MongoDB\Driver\WriteResult 对象。
错误/异常
MongoDB\Exception\InvalidArgumentException
表示与参数或选项解析相关的错误。
MongoDB\Driver\Exception\BulkWriteException 与写入操作相关的错误。用户应检查 getWriteResult() 返回的值 以确定错误的性质。
MongoDB\ 驱动程序\Exception\RuntimeException 对于扩展级别的其他错误(例如连接错误)。
行为
如果 MongoDB\Driver\Exception\BulkWriteException 抛出,用户应调用 getWriteResult() 并检查返回的 MongoDB\Driver\WriteResult 对象以确定错误的性质。
例如,写入操作可能已成功应用于主服务器,但未能满足写关注(例如复制时间太长)。或者,写入操作可能完全失败(例如唯一键冲突)。
例子
以下操作会将文档插入到 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" }