Definição
killAllSessionsO comando finaliza todas as sessões para os usuários
killAllSessionsespecificados. []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 é aceito em clusters do MongoDB Atlas. Para obter informações sobre o suporte do Atlas a todos os comandos, consulte Comandos não suportados.
Campos de comando
O comando usa um array de documentos, em que cada documento especifica o usuário e o banco de dados de autenticação do usuário. Especifique uma matriz vazia para finalizar todas as sessões de todos os usuários no sistema. [1]
Ver sessões existentes
Para visualizar sessões existentes, consulte operação $listSessions ou $listLocalSessions.
| [1] | (,1 2) A killAllSessions operação ignora sessões que têm transações no estado preparado. Consulte Comportamento para ver detalhes. |
Controle de acesso
Se o sistema forçar autenticação/ autorização, faça killAnySession executar o killAllSessions comando.
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 ignora killAllSessions 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 "sendingPrepare" action o.
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" } ] } )