定义
参数
$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\驱动程序\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' => '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" }