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