killSessions
定義
killSessions
バージョン 3.6 の新機能。
killSessions
コマンドは、指定されたセッションを強制終了します。 アクセス制御が有効になっている場合、 コマンドはユーザーが所有するセッションのみを強制終了します。 [ 1 ]
構文
このコマンドの構文は、次のとおりです。
db.runCommand( { killSessions: [ { id : <UUID> }, ... ] } )
互換性
このコマンドは、次の環境でホストされている配置で使用できます。
MongoDB Atlas はクラウドでの MongoDB 配置のためのフルマネージド サービスです
重要
このコマンドは、M 0 、M 2 、M 5クラスターではサポートされていません。 詳細については、「サポートされていないコマンド 」を参照してください。
MongoDB Enterprise: サブスクリプションベースの自己管理型 MongoDB バージョン
MongoDB Community: ソースが利用可能で、無料で使用できる自己管理型の MongoDB のバージョン
コマンドフィールド
コマンドは、セッション ID の UUID 部分を指定するドキュメントの配列を受け取ります。 すべてのセッションを強制終了するには、空の配列[ ]
を指定します。アクセス制御が有効になっている場合は、ユーザーが所有するすべてのセッションを強制終了します。 [1]
既存のセッションを表示するには、 $listSessions
操作 または$listLocalSessions
を参照してください。
[1] | ( 1 、 2 ) killSessions 操作は、トランザクションが準備状態にあるセッションを無視します。 詳細については、「動作」を参照してください。 |
動作
セッション識別
MongoDB は、指定された各 UUID を認証されたユーザー認証情報のハッシュと連結して、強制終了するユーザーのセッションを識別します。 ユーザーに一致するセッションが ない 場合、 killSessions
は効果がありません。
進行中の操作
セッションを強制終了すると、セッション内で進行中の操作がすべて終了され、これらの操作に関連付けられている開いているカーソルが閉じられます。
強制終了されたセッションの可用性
強制終了されたセッションは引き続き現在のセッションとして表示され、今後の操作では強制終了されたセッションが使用される可能性があります。 既存のセッションを表示するには、 $listSessions
操作 または$listLocalSessions
を参照してください。
トランザクションが準備済み状態のセッション
killSessions
操作は、トランザクションが準備状態にあるセッションを無視します。 準備状態のトランザクションとは、コミット コーディネーターが"sendingPrepare"
action
を完了した複数のシャードにまたがる書込み操作を持つトランザクションを指します。
例
次の操作は、 ユーザーの指定されたセッションを強制終了します。
db.runCommand( { killSessions: [ { id: UUID("f9b3d8d9-9496-4fff-868f-04a6196fc58a") } ] } )