startSession
定義
startSession
startSession
コマンドは、一連の操作に対して新しい論理セッションを開始します。Tip
mongosh
では、このコマンドはMongo.startSession()
ヘルパー メソッドを通じて実行することもできます。ヘルパー メソッドは
mongosh
ユーザーには便利ですが、データベースコマンドと同じレベルの情報は返されない可能性があります。 便宜上必要ない場合、または追加の戻りフィールドが必要な場合は、 データベースコマンドを使用します。
互換性
このコマンドは、次の環境でホストされている配置で使用できます。
MongoDB Atlas はクラウドでの MongoDB 配置のためのフルマネージド サービスです
注意
このコマンドは、すべてのMongoDB Atlasクラスターでサポートされています。すべてのコマンドの Atlas サポートの詳細については、「 サポートされていないコマンド 」を参照してください。
MongoDB Enterprise: サブスクリプションベースの自己管理型 MongoDB バージョン
MongoDB Community: ソースが利用可能で、無料で使用できる自己管理型の MongoDB のバージョン
構文
このコマンドの構文は、次のとおりです。
db.runCommand( { startSession: 1 } )
startSession
を実行するには、 db.runCommand( { <command> } )
メソッドを使用します。
db.runCommand( { startSession: 1 } )
重要
featureCompatibilityVersion
は3.6である必要があります または より大きい場合は、 startSession
コマンドを使用します。
動作
配置で認証/承認が強制される場合、 startSession
コマンドを実行するには認証が必要です。 作成されたセッションはstartSession
を実行するユーザーが所有し、そのユーザーのみがセッションを使用できます。
配置で認証/認可が強制されない場合、作成されたセッションには所有者がなく、任意の接続で任意のユーザーが使用できます。 ユーザーが認証を行い、認証/認可を強制しない配置のセッションを作成した場合、セッションはユーザーが所有します。 ただし、あらゆる接続上のどのユーザーもセッションを使用できます。
配置がダウンタイムなしで認証に移行すると、所有者のいないセッションは使用できなくなります。
セッションは、セッションを作成したMongoClient
オブジェクトでのみ使用できます。 1 つのセッションを同時に使用することはできません。 1 つのセッションを使用する操作は連続して実行する必要があります。
出力
コマンドのステータスとoptimeに加えて、 startSession
は次のセッション固有の情報を返します。
フィールド | タイプ | 説明 | |
---|---|---|---|
id | ドキュメント | セッションの識別子の 16 バイトの UUID(汎用一意識別子)部分を含むドキュメント。
セッションの識別子は、この UUID と認証されたユーザー認証情報のハッシュを連結したもので構成されています。 | |
timeoutMinutes | 数値 | クライアントが最後に使用してから、期限切れになる前にセッションがアクティブな状態であった時間(分単位)。 デフォルトでは、セッションの有効期限は 30 分です。 この値を変更するには、 の起動時に |