Definição
killAllSessionsByPatternThe
killAllSessionsByPatterncommand kills all sessions that match any of the specified patterns. [1]
Sintaxe
O comando tem a seguinte sintaxe:
db.runCommand( { killAllSessionsByPattern: [ <pattern>, ... ] } )
Compatibilidade
Esse comando está disponível em implantações hospedadas nos seguintes ambientes:
- MongoDB Atlas: The fully managed service for MongoDB deployments in the cloud
Importante
This command is not supported in M0 and Flex clusters. For more information, see Unsupported Commands.
MongoDB Enterprise: a versão autogerenciada e baseada em assinatura do MongoDB
MongoDB Community: uma versão com código disponível, de uso gratuito e autogerenciada do MongoDB
Campos de comando
O comando usa um array de documentos que especificam os padrões a serem correspondidos:
Padrão | Descrição |
|---|---|
| Especifique a parte UUID do ID da sessão a ser eliminada. |
| Especifica o hash do proprietário das sessões a serem eliminadas. |
| Specifies the owners of the sessions to kill. Requires additional privileges. See Access Control. |
| 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]
Para visualizar sessões existentes, consulte operação $listSessions ou $listLocalSessions.
Dica
| [1] | (1, 2) The killAllSessionsByPattern operation ignores sessions that have transactions in prepared state. See Behavior for details. |
Comportamento
Operações em andamento
A eliminação de uma sessão elimina as operações em andamento na sessão e fecha os cursores abertos associados a essas operações.
Disponibilidade de sessão eliminada
A sessão eliminada ainda pode estar listada como uma sessão atual e operações futuras podem usar a sessão eliminada. Para visualizar sessões existentes, consulte operação $listSessions ou $listLocalSessions .
Sessões com transação no estado preparado
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.
Controle de acesso
If the deployment enforces authentication/authorization, you must have the killAnySession privilege action to run the killAllSessionsByPattern command.
Para padrões que incluem users ou roles, você também deve ter privilégios que concedam a ação impersonate no recurso de cluster.
Observação
Os usuários podem finalizar suas próprias sessões mesmo sem a ação de privilégio do killAnySession .
Exemplos
killAllSessions
A operação a seguir finaliza todas as sessões:
db.runCommand( { killAllSessionsByPattern: [ ] } )
Eliminar todas as sessões para usuários específicos
A operação a seguir finaliza todas as sessões que têm o uid especificado e cujo proprietário tem o role especificado:
db.runCommand( { killAllSessionsByPattern: [ { "uid" : BinData(0,"oBRA45vMY78p1tv6kChjQPTdYsnCHi/kA/fFMZTIV1o=") }, { roles: [ { role: "readWrite", db: "test" } ] } ] } )