Definição
killAllSessionsO comando
killAllSessionsfinaliza todas as sessões para os usuários especificados. [1]
Sintaxe
O comando tem a seguinte sintaxe:
db.runCommand( { killAllSessions: [ { user: <user>, db: <dbname> }, ... ] } )
Compatibilidade
Esse comando está disponível em implantações hospedadas nos seguintes ambientes:
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
Importante
Este comando não é suportado em clusters MongoDB Atlas . Para obter informações sobre o suporte do Atlas para todos os comandos, consulte Comandos não suportados.
Campos de comando
The command takes an array of documents where each document specifies the user and the user's authentication database. Specify an empty array to kill all sessions for all users in the system. [1]
Ver sessões existentes
Para visualizar sessões existentes, consulte operação $listSessions ou $listLocalSessions.
| [1] | (1, 2) A operação killAllSessions ignora sessões que têm transações em estado preparado. Consulte Comportamento para ver detalhes. |
Controle de acesso
Se o sistema forçar autenticação/autorização, faça killAnySession executar o comando killAllSessions .
Observação
Os usuários podem finalizar suas próprias sessões mesmo sem ação de privilégio do killAnySession.
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
A operação killAllSessions ignora sessões que têm Transações no estado preparado. As transações no estado preparado referem-se a transações com operações de gravação que abrangem vários shards cujo coordenador de confirmação concluiu o "sendingPrepare" action.
Exemplos
killAllSessions
A operação a seguir finaliza todas as sessões para todos os usuários no sistema:
db.runCommand( { killAllSessions: [ ] } )
Eliminar todas as sessões para usuários específicos
A operação a seguir finaliza todas as sessões para o usuário appReader no db1 e para o usuário reportWriter em bancos de dados db2:
db.runCommand( { killAllSessions: [ { user: "appReader", db: "db1" }, { user: "reportWriter", db: "db2" } ] } )