killAllSessionsByPattern

在本页面

Definition

killAllSessionsByPattern命令将杀死所有与任何指定模式匹配的会话。

Syntax

该命令具有以下语法:

db.runCommand( { killAllSessionsByPattern: [ <pattern>, ... ] } )

该命令采用一系列文档,这些文档指定要匹配的模式:

Pattern Description
{ lsid: { id : <UUID> } } 指定要杀死的会话 ID 的 UUID 部分。
{ uid: <BinData> } 指定要杀死的会话的所有者的哈希。
{ users: [ { user: <user>, db: <dbname> }, ... ] } 指定要杀死的会话的所有者。需要其他特权。参见Access Control
{ roles: [ { role: <role>, db: <dbname> }, ... ] } 指定分配给要杀死的会话所有者的角色。需要其他特权。参见Access Control

指定一个空数组以终止所有会话。

要查看现有会话,请参见$listSessions操作或$listLocalSessions

See also

killAllSessions

Access Control

如果部署强制执行身份验证/授权,则必须具有killAnySession才能运行killAllSessionsByPattern命令。

对于包含usersroles的模式,您还必须具有授予对群集资源执行impersonate操作的特权。

Note

即使没有killAnySession特权操作,用户也可以杀死自己的会话。

Examples

杀死所有会话

以下操作将终止所有会话:

db.runCommand( { killAllSessionsByPattern: [ ] } )

终止特定用户的所有会话

以下操作将杀死所有具有指定uid并且其所有者具有指定角色的会话:

db.runCommand( { killAllSessionsByPattern: [
   { "uid" : BinData(0,"oBRA45vMY78p1tv6kChjQPTdYsnCHi/kA/fFMZTIV1o=") },
   { roles: [ { role: "readWrite", db: "test" } ] }
] } )
首页