MongoDB\Driver\Manager::startSession
PHP function
Edit on GitHub ✎
(mongodb >=1.4.0)
Start a new client session for use with this client
Description
MongoDB\Driver\Manager::startSession(array|null $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
optionsOption Type Description Default Option Type Description causalConsistency boolConfigure 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 Causal Consistency in the MongoDB manual for more information. true defaultTransactionOptions arrayDefault 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.optionsOptionTypeDescriptionMaxCommitTimeMS ReadConcern ReadPreference WriteConcernThis option is available in MongoDB 4.0+. []snapshot boolConfigure 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 unshardeddistinct). 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
- Throws
MongoDB\Driver\Exception\InvalidArgumentExceptionif the"causalConsistency"and"snapshot"options are both true. - Throws
MongoDB\Driver\Exception\RuntimeExceptionif the session could not be created (e.g. libmongoc does not support crypto).
Changelog
| Version | Description |
|---|---|
| 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
MongoDB\Driver\Session- Causal Consistency in the MongoDB manual