Docs 菜单
Docs 主页
/ / /
PHP 库手册
/ /

MongoDB\Collection::insertOne()

在此页面上

  • 定义
  • 参数
  • 返回值
  • 错误/异常
  • 行为
  • 例子
  • 另请参阅
MongoDB\Collection::insertOne()

插入一个文档。

function insertOne(
array|object $document,
array $options = []
): MongoDB\InsertOneResult
$document : array|object
要插入到集合中的文档。
$options : array

指定所需选项的数组。

名称
类型
说明
bypassDocumentValidation
布尔
如果为 true,则允许写入操作规避文档级验证。默认为 false
编解码器
MongoDB\Codec\DocumentCodec

用于对文档进行编码或解码的编解码器。此选项与typeMap选项互斥。

默认为集合的编解码器。默认 codec 选项的继承优先于 typeMap 选项的继承。

1.17 版本中的新增功能

评论
混合

允许用户指定任意注释,以帮助通过数据库分析器currentOp输出和日志跟踪操作。

自 MongoDB 4.4 起此选项可用,如果为旧服务器版本指定,则会在执行时导致异常。

1.13 版本中的新增功能

会议

与操作相关联的客户端会话。

1.3 版本中的新增功能

writeConcern

写关注用于操作。默认为集合的写关注。

无法将单个操作的写关注指定为事务的一部分。 相反,请在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 对象以确定错误的性质。

例如,写入操作可能已成功应用于主服务器,但未能满足写关注(例如复制时间太长)。或者,写入操作可能完全失败(例如唯一键冲突)。

以下操作会将文档插入到 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"
}

后退

insertMany()

来年

listIndexes()