文档菜单
文档首页
/
MongoDB 手册
/ / /

killAllSessionsByPattern

本页

  • 定义
  • 语法
  • 兼容性
  • 命令字段
  • 行为
  • 访问控制
  • 示例
killAllSessionsByPattern

killAllSessionsByPattern 命令终止所有匹配指定模式的会话。 [1]

命令具有以下语法

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

此命令可在以下环境中部署的以下环境中使用

  • MongoDB Atlas:MongoDB在云中的托管服务

重要

此命令不支持在M0、M2和M5集群中。有关更多信息,请参阅不支持命令。

  • MongoDB企业版:MongoDB的基于订阅的自主管理版本

  • MongoDB社区版:MongoDB的开源、免费使用和自主管理版本

命令接受一个指定匹配模式的文档数组

模式
描述
{ lsid: { id : <UUID> } }
指定要终止的会话ID的UUID部分。
{ uid: <BinData> }
指定要终止的会话所有者的哈希值。
{ users: [ { user: <user>, db: <dbname> }, ... ] }
指定要终止的会话的所有者。需要额外的权限。请参阅访问控制。
{ roles: [ { role: <role>, db: <dbname> }, ... ] }
指定分配给要终止的会话所有者的角色。需要额外的权限。请参阅访问控制。

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

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

提示

另请参阅

[1](1, 2) killAllSessionsByPattern操作忽略处于准备状态的事务会话。有关详细信息,请参阅行为

终止会话将终止会话中任何正在进行的操作并关闭与这些操作相关的任何打开的游标。

已终止的会话可能仍然被列为当前会话,未来的操作可能会使用已终止的会话。要查看现有会话,请参阅 $listSessions 操作或 $listLocalSessions.

killAllSessionsByPattern 操作忽略处于准备状态的事务会话。处于准备状态的事务是指跨多个分片执行写操作的已提交协调器完成了 "sendingPrepare" action 的事务。

如果部署强制执行身份验证/授权,您必须拥有运行killAnySession权限操作的权限,以运行killAllSessionsByPattern命令。

对于包含usersroles的模式,您还需要拥有在集群资源上授予impersonate操作的权限。

注意

用户即使没有killAnySession权限操作,也可以终止自己的会话。

以下操作将终止所有会话

db.runCommand( { killAllSessionsByPattern: [ ] } )

以下操作将终止具有指定 uid 并且所属角色指定的所有会话

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

返回

killAllSessions