PHP Conference Japan 2024

MongoDB\Driver\Manager::startSession

(mongodb >=1.4.0)

MongoDB\Driver\Manager::startSession启动一个新的客户端会话以供此客户端使用

描述

final public MongoDB\Driver\Manager::startSession(?array $options = null): MongoDB\Driver\Session

为给定的选项创建一个MongoDB\Driver\Session。然后可以在执行命令、查询和写入操作时指定会话。

注意: MongoDB\Driver\Session 只能与创建它的 MongoDB\Driver\Manager 一起使用。

参数

options

options
选项 类型 描述 默认值
causalConsistency bool

在会话中配置因果一致性。如果为true,则会话中的每个操作都将在上一个读或写操作之后按因果关系排序。设置为false以禁用因果一致性。

更多信息请参见MongoDB手册中的» 因果一致性

true
defaultTransactionOptions array

应用于新创建的事务的默认选项。除非在事务启动时为每个选项使用不同的值覆盖这些选项,否则将使用这些选项。

options
选项 类型 描述
maxCommitTimeMS integer

允许单个commitTransaction命令运行的最大时间(毫秒)。

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

readConcern MongoDB\Driver\ReadConcern

应用于操作的读取关注点。

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

readPreference MongoDB\Driver\ReadPreference

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

writeConcern MongoDB\Driver\WriteConcern

应用于操作的写入关注点。

此选项在MongoDB 4.0+中可用。

[]
snapshot bool

在会话中配置快照读取。如果为true,则将从会话中第一个支持的读取操作(即findaggregate或非分片distinct)获取时间戳。然后,会话中的后续读取操作将使用"snapshot"读取关注级别来读取该时间戳的已提交数据。设置为false以禁用快照读取。

快照读取需要MongoDB 5.0+,不能与因果一致性、事务或写入操作一起使用。如果"snapshot"true"causalConsistency"将默认为false

更多信息请参见MongoDB手册中的» 读取关注点“snapshot”

false

返回值

返回一个MongoDB\Driver\Session

错误/异常

变更日志

版本 描述
PECL mongodb 1.11.0

添加了"snapshot"选项。

PECL mongodb 1.6.0

"maxCommitTimeMS"选项添加到"defaultTransactionOptions"

PECL mongodb 1.5.0

添加了"defaultTransactionOptions"选项。

添加注释

用户贡献的注释

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