Definition
Mongo.startSession(<options>)Starts a session for the connection.
mongoassigns the session ID to commands associated with the session.Important
mongo Shell Method
This page documents a
mongomethod. This is not the documentation for database commands or language-specific drivers, such as Node.js. To use the database command, see thestartSessioncommand.For MongoDB API drivers, refer to the language-specific MongoDB driver documentation.
The
startSession()method can take a document with session options. The options available are:FieldDescriptioncausalConsistency
Boolean. Enables or disables causal consistency for the session.
Mongo.startSession()enablescausalConsistencyby default.After starting a session, you cannot modify its
causalConsistencysetting.Note
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().readConcern
Document. Specifies the read concern.
To modify the setting after starting a session, see
Session.getOptions().setReadConcern().readPreference
Document. Specifies the read preference.
The readPreference document contains the
modefield and the optionaltagsfield:{ mode: <string>, tags: <array> } To modify the setting after starting a session, see
Session.getOptions().setReadPreference().retryWrites
Boolean. Enables or disables the ability to retry writes upon encountering transient network errors.
If you start the
mongoshell with the--retryWritesoption,retryWritesis enabled by default forMongo.startSession().After starting a session, you cannot modify its
retryWritessetting.writeConcern
Document. Specifies the write concern.
To modify the setting after starting a session, see
Session.getOptions().setWriteConcern().
Examples
The following starts a session with causal consistency and retryable
writes enabled on the Mongo() connection object associated with
the mongo shell's global db variable:
db = db.getMongo().startSession({retryWrites: true, causalConsistency: true}).getDatabase(db.getName());