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