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

killAllSessions

本页内容

  • 定义
  • 语法
  • 兼容性
  • 命令字段
  • 查看现有会话
  • 访问控制
  • 行为
  • 示例
killAllSessions

killAllSessions命令杀死指定用户的全部会话。[1]

该命令的语法如下

db.runCommand(
{
killAllSessions: [ { user: <user>, db: <dbname> }, ... ]
}
)

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

  • MongoDB Atlas:云中MongoDB部署的全托管服务

重要

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

  • MongoDB Enterprise:基于订阅的自托管MongoDB版本

  • MongoDB Community:开源、免费使用和自托管的MongoDB版本

该命令接受一个文档数组,其中每个文档指定了用户及其认证数据库。指定一个空数组以终止系统中所有用户的会话。[1]

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

提示

另请参阅

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

如果部署强制执行身份验证/授权,您必须拥有killAnySession权限才能运行killAllSessions命令。

注意

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

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

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

killAllSessions 操作会忽略处于准备状态的事务会话。处于准备状态的事务是指涉及跨多个分片且其提交协调器已完成 "sendingPrepare" action.

以下操作将终止系统中所有用户的会话

db.runCommand( { killAllSessions: [ ] } )

以下操作将终止用户 appReaderdb1 和用户 reportWriterdb2 数据库中的所有会话

db.runCommand( { killAllSessions: [
{ user: "appReader", db: "db1" },
{ user: "reportWriter", db: "db2" }
] } )

返回

endSessions