Mongo.startSession()
定義
Mongo.startSession(<options>)
接続のためにセッションを開始します。
mongosh
は、セッションに関連付けられたコマンドにセッション ID を割り当てます。重要
mongosh メソッド
このページでは、
mongosh
メソッドについて記載しています。ただし、データベースコマンドや Node.js などの言語固有のドライバーのドキュメントには該当しません。データベースコマンドについては、
startSession
コマンドを参照してください。MongoDB API ドライバーについては、各言語の MongoDB ドライバー ドキュメントを参照してください。
セッションは、セッションを作成した
MongoClient
オブジェクトでのみ使用できます。 1 つのセッションを同時に使用することはできません。 1 つのセッションを使用する操作は連続して実行する必要があります。startSession()
メソッドは、セッション オプションを持つドキュメントを取ることができます。 使用可能なオプションは次のとおりです。フィールド説明因果整合性
ブール値。セッションの因果整合性を有効または無効にします。
Mongo.startSession()
causalConsistency
はデフォルトで を有効にします。snapshot
と排他関係にあります。セッションを開始した後は、その
causalConsistency
設定を変更することはできません。Mongo()
接続オブジェクトで因果整合性が無効になっている場合でも、セッションでは因果整合性が有効になっている場合や、 接続オブジェクトに因果整合性を設定するには、Mongo.setCausalConsistency()
を参照してください。ReadConcern
ドキュメント。 読み取り保証 ( read concern) を指定します。
セッションを開始した後に設定を変更するには、
Session.getOptions().setReadConcern()
を参照してください。readPreference
ドキュメント。 読み込み設定 ( read preference) を指定します。
readPreference ドキュメントには、
mode
フィールドと任意のtags
フィールドが含まれています。{ mode: <string>, tags: <array> } セッションを開始した後に設定を変更するには、
Session.getOptions().setReadPreference()
を参照してください。retryWrites
ブール値。 一時的なネットワークエラーが発生したときに書き込みを再試行する機能を有効または無効にします。
mongosh
--retryWrites
オプションを使用して を起動すると、 に対してretryWrites
Mongo.startSession()
がデフォルトで有効になります。セッションを開始した後は、その
retryWrites
設定を変更することはできません。スナップショット
ブール値。 MongoDB 5.0 + 配置のセッションのスナップショット読み取りを有効にします。
causalConsistency
と排他関係にあります。writeConcern
ドキュメント。 書込み保証 ( write concern) を指定します。
セッションを開始した後に設定を変更するには、
Session.getOptions().setWriteConcern()
を参照してください。
互換性
このメソッドは、次の環境でホストされている配置で使用できます。
MongoDB Atlas はクラウドでの MongoDB 配置のためのフルマネージド サービスです
注意
このコマンドは、すべての MongoDB Atlas クラスターでサポートされています。すべてのコマンドに対する Atlas のサポートについては、「サポートされていないコマンド」を参照してください。
MongoDB Enterprise: サブスクリプションベースの自己管理型 MongoDB バージョン
MongoDB Community: ソースが利用可能で、無料で使用できる自己管理型の MongoDB のバージョン
例
次の例では、Mongo()
mongosh
のグローバルdb
変数に関連付けられている 接続オブジェクトで因果整合性と再試行可能な書き込みが有効になっているセッションを起動します。
db = db.getMongo().startSession({retryWrites: true, causalConsistency: true}).getDatabase(db.getName());