MongoDB\Driver\Session::startTransaction

(mongodb >=1.5.0)

MongoDB\Driver\Session::startTransaction启动事务

描述

final public MongoDB\Driver\Session::startTransaction(?array $options = null): void

启动与会话关联的多文档事务。在任何给定时间,您最多只能为一个会话拥有一个打开的事务。启动事务后,必须通过 "session" 选项(例如 MongoDB\Driver\Manager::executeBulkWrite())将会话对象传递给每个操作,以便将该操作与事务关联。

事务可以通过 MongoDB\Driver\Session::commitTransaction() 提交,并通过 MongoDB\Driver\Session::abortTransaction() 中止。当会话从垃圾回收关闭或通过显式调用 MongoDB\Driver\Session::endSession() 时,事务也会自动中止。

参数

options

选项可以作为参数传递给此方法。此选项数组中的每个元素都会覆盖来自 "defaultTransactionOptions" 选项的相应选项(如果在使用 MongoDB\Driver\Manager::startSession() 启动会话时设置)。

options
选项 类型 描述
maxCommitTimeMS 整数

允许单个 commitTransaction 命令运行的最长时间(以毫秒为单位)。

如果指定,maxCommitTimeMS 必须是一个大于或等于零的有符号 32 位整数。

readConcern MongoDB\Driver\ReadConcern

要应用于操作的读取关注度。

此选项在 MongoDB 3.2+ 中可用,如果指定给较旧的服务器版本,则会在执行时引发异常。

readPreference MongoDB\Driver\ReadPreference

用于选择操作服务器的读取偏好。

writeConcern MongoDB\Driver\WriteConcern

要应用于操作的写入关注度。

返回值

不返回值。

错误/异常

变更日志

版本 描述
PECL mongodb 1.6.0

添加了 "maxCommitTimeMS" 选项。

另请参阅

添加注释

用户贡献的注释

此页面没有用户贡献的注释。
To Top