On this page
killAllSessionsByPattern
在本页面
Definition
killAllSessionsByPattern
- 3.6 版的新功能。
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
Access Control
如果部署强制执行身份验证/授权,则必须具有killAnySession才能运行killAllSessionsByPattern命令。
对于包含users
或roles
的模式,您还必须具有授予对群集资源执行impersonate操作的特权。
Note
即使没有killAnySession特权操作,用户也可以杀死自己的会话。
Examples
杀死所有会话
以下操作将终止所有会话:
db.runCommand( { killAllSessionsByPattern: [ ] } )
终止特定用户的所有会话
以下操作将杀死所有具有指定uid
并且其所有者具有指定角色的会话:
db.runCommand( { killAllSessionsByPattern: [
{ "uid" : BinData(0,"oBRA45vMY78p1tv6kChjQPTdYsnCHi/kA/fFMZTIV1o=") },
{ roles: [ { role: "readWrite", db: "test" } ] }
] } )