killAllSessionsByPattern
定義
killAllSessionsByPattern
killAllSessionsByPattern
コマンドは、指定されたパターンのいずれかに一致するすべてのセッションを強制終了します。 [ 1 ]
構文
このコマンドの構文は、次のとおりです。
db.runCommand( { killAllSessionsByPattern: [ <pattern>, ... ] } )
互換性
このコマンドは、次の環境でホストされている配置で使用できます。
MongoDB Atlas はクラウドでの MongoDB 配置のためのフルマネージド サービスです
重要
このコマンドは、M 0 、M 2 、M 5クラスターではサポートされていません。 詳細については、「サポートされていないコマンド 」を参照してください。
MongoDB Enterprise: サブスクリプションベースの自己管理型 MongoDB バージョン
MongoDB Community: ソースが利用可能で、無料で使用できる自己管理型の MongoDB のバージョン
コマンドフィールド
このコマンドは、一致するパターンを指定するドキュメントの配列を受け取ります。
パターン | 説明 |
---|---|
| 強制終了するセッション ID の UUID 部分を指定します。 |
| 強制終了するセッションの所有者のハッシュを指定します。 |
| 強制終了するセッションの所有者を指定します。 追加の特権が必要です。 詳しくは、 アクセス制御 を参照してください。 |
| 強制終了するセッションの所有者に割り当てられたロールを指定します。 追加の特権が必要です。 詳しくは、 アクセス制御 を参照してください。 |
すべてのセッションを強制終了するには、空の配列 を指定します。 [1]
既存のセッションを表示するには、 $listSessions
操作 または$listLocalSessions
を参照してください。
[1] | ( 1 、 2 ) killAllSessionsByPattern 操作は、トランザクションが準備状態にあるセッションを無視します。 詳細については、「動作」を参照してください。 |
動作
進行中の操作
セッションを強制終了すると、セッション内で進行中の操作がすべて終了され、これらの操作に関連付けられている開いているカーソルが閉じられます。
強制終了されたセッションの可用性
強制終了されたセッションは引き続き現在のセッションとして表示され、今後の操作では強制終了されたセッションが使用される可能性があります。 既存のセッションを表示するには、 $listSessions
操作 または$listLocalSessions
を参照してください。
トランザクションが準備済み状態のセッション
killAllSessionsByPattern
操作は、トランザクションが準備状態にあるセッションを無視します。 準備状態のトランザクションとは、コミット コーディネーターが"sendingPrepare"
action
を完了した複数のシャードにまたがる書込み操作を持つトランザクションを指します。
アクセス制御
配置で認証/承認が強制される場合、 コマンドを実行するにはkillAnySession
killAllSessionsByPattern
特権アクションが必要です。
users
またはroles
を含むパターンでは、クラスター リソースに対してimpersonate
アクションを許可する特権も必要です。
注意
ユーザーは、 killAnySession
特権アクションがなくても自分のセッションを強制終了できます。
例
すべてのセッションを強制終了
次の操作は、すべてのセッションを強制終了します。
db.runCommand( { killAllSessionsByPattern: [ ] } )
特定のユーザーのすべてのセッションを強制終了
次の操作では、指定されたuid
と指定されたロールを持つ所有者を持つすべてのセッションが強制終了されます。
db.runCommand( { killAllSessionsByPattern: [ { "uid" : BinData(0,"oBRA45vMY78p1tv6kChjQPTdYsnCHi/kA/fFMZTIV1o=") }, { roles: [ { role: "readWrite", db: "test" } ] } ] } )