On this page本页内容
killAllSessionsByPattern
¶New in version 3.6.版本3.6中的新功能。
The killAllSessionsByPattern
command kills all sessions that match any of the specified patterns. [1]
The command has the following syntax:语法如下所示:
The command takes an array of documents that specify the patterns to match:
Pattern | |
---|---|
{ lsid: { id : <UUID> } } |
Specify the UUID portion of the session id to kill. |
{ uid: <BinData> } |
Specifies the hash of the owner of the sessions to kill. |
{ users: [ { user: <user>, db: <dbname> }, ... ] } |
Specifies the owners of the sessions to kill. Requires additional privileges. See Access Control. |
{ roles: [ { role: <role>, db: <dbname> }, ... ] } |
Specifies the roles assigned to the owners of the sessions to kill. Requires additional privileges. See Access Control. |
Specify an empty array to kill all sessions. [1]
To view existing sessions, see $listSessions
operation or $listLocalSessions
.
See also参阅
[1] | (1, 2) The killAllSessionsByPattern operation ignores sessions that have transactions in prepared state. See Behavior for details. |
Killing a session kills any in-progress operations in the session and closes any open cursors associated with these operations.
The killed session may still be listed as a current session, and future operations may use the killed session. To view existing sessions, see $listSessions
operation or $listLocalSessions
.
The killAllSessionsByPattern
operation ignores sessions that have transactions in prepared state. Transactions in prepared state refer to transactions with write operations that span multiple shards whose commit coordinator has completed the "sendingPrepare" action
.
If the deployment enforces authentication/authorization, you must have the killAnySession
to run the killAllSessionsByPattern
command.
For patterns that include users
or roles
, you must also have privileges that grant impersonate
action on the cluster resource.
Note
Users can kill their own sessions even without killAnySession
privilege action.