Mongo.startSession()
On this page
Definition
Mongo.startSession(<options>)
Starts a session for the connection.
mongosh
assigns the session ID to commands associated with the session.Important
mongosh Method
This page documents a
mongosh
method. This is not the documentation for database commands or language-specific drivers, such as Node.js.For the database command, see the
startSession
command.For MongoDB API drivers, refer to the language-specific MongoDB driver documentation.
A session can only be used with the
MongoClient
object that created the session. A single session cannot be used concurrently. Operations that use a single session must be run sequentially.The
startSession()
method can take a document with session options. The options available are:FieldDescriptioncausalConsistencyBoolean. Enables or disables causal consistency for the session.
Mongo.startSession()
enablescausalConsistency
by default. Mutually exclusive withsnapshot
.After starting a session, you cannot modify its
causalConsistency
setting.The session may have causal consistency enabled even though the
Mongo()
connection object may have causal consistency disabled or vice versa. To set causal consistency on the connection object, seeMongo.setCausalConsistency()
.readConcernDocument. Specifies the read concern.
To modify the setting after starting a session, see
Session.getOptions().setReadConcern()
.readPreferenceDocument. Specifies the read preference.
The readPreference document contains the
mode
field and the optionaltags
field:{ mode: <string>, tags: <array> } To modify the setting after starting a session, see
Session.getOptions().setReadPreference()
.retryWritesBoolean. Enables or disables the ability to retry writes upon encountering transient network errors.
If you start
mongosh
with the--retryWrites
option,retryWrites
is enabled by default forMongo.startSession()
.After starting a session, you cannot modify its
retryWrites
setting.snapshotBoolean. Enables snapshot reads for the session for MongoDB 5.0+ deployments. Mutually exclusive withcausalConsistency
.writeConcernDocument. Specifies the write concern.
To modify the setting after starting a session, see
Session.getOptions().setWriteConcern()
.
Compatibility
This method is available in deployments hosted in the following environments:
MongoDB Atlas: The fully managed service for MongoDB deployments in the cloud
Note
This command is supported in all MongoDB Atlas clusters. For information on Atlas support for all commands, see Unsupported Commands.
MongoDB Enterprise: The subscription-based, self-managed version of MongoDB
MongoDB Community: The source-available, free-to-use, and self-managed version of MongoDB
Examples
The following starts a session with causal consistency and retryable
writes enabled on the Mongo()
connection object associated with
mongosh
's global db
variable:
db = db.getMongo().startSession({retryWrites: true, causalConsistency: true}).getDatabase(db.getName());