MongoDB\Driver\Manager::startSession

(mongodb >=1.4.0)

MongoDB\Driver\Manager::startSessionStart a new client session for use with this client

Description

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

Creates a MongoDB\Driver\Session for the given options. The session may then be specified when executing commands, queries, and write operations.

Note: A MongoDB\Driver\Session can only be used with the MongoDB\Driver\Manager from which it was created.

Parameters

options

options
OptionTypeDescriptionDefault
causalConsistencybool

Configure causal consistency in a session. If true, each operation in the session will be causally ordered after the previous read or write operation. Set to false to disable causal consistency.

See » Casual Consistency in the MongoDB manual for more information.

true
defaultTransactionOptionsarray

Default options to apply to newly created transactions. These options are used unless they are overridden when a transaction is started with different value for each option.

options
OptionTypeDescription
maxCommitTimeMSinteger

The maximum amount of time in milliseconds to allow a single commitTransaction command to run.

If specified, maxCommitTimeMS must be a signed 32-bit integer greater than or equal to zero.

readConcernMongoDB\Driver\ReadConcern

A read concern to apply to the operation.

This option is available in MongoDB 3.2+ and will result in an exception at execution time if specified for an older server version.

readPreferenceMongoDB\Driver\ReadPreference

A read preference to use for selecting a server for the operation.

writeConcernMongoDB\Driver\WriteConcern

A write concern to apply to the operation.

This option is available in MongoDB 4.0+.

[]
snapshotbool

Configure snapshot reads in a session. If true, a timestamp will be obtained from the first supported read operation in the session (i.e. find, aggregate, or unsharded distinct). Subsequent read operations within the session will then utilize a "snapshot" read concern level to read majority-committed data from that timestamp. Set to false to disable snapshot reads.

Snapshot reads require MongoDB 5.0+ and cannot be used with causal consistency, transactions, or write operations. If "snapshot" is true, "causalConsistency" will default to false.

See » Read Concern "snapshot" in the MongoDB manual for more information.

false

Return Values

Returns a MongoDB\Driver\Session.

Errors/Exceptions

Changelog

VersionDescription
PECL mongodb 1.11.0

The "snapshot" option was added.

PECL mongodb 1.6.0

The "maxCommitTimeMS" option was added to "defaultTransactionOptions".

PECL mongodb 1.5.0

The "defaultTransactionOptions" option was added.

See Also

To Top