Menu Docs

Página inicial do DocsDesenvolver aplicaçõesManual do MongoDB

killAllSessions

Nesta página

  • Definição
  • Sintaxe
  • Compatibilidade
  • Campos de comando
  • Ver sessões existentes
  • Controle de acesso
  • Comportamento
  • Exemplos
killAllSessions

O comando killAllSessions finaliza todas as sessões para os usuários especificados. [1]

O comando tem a seguinte sintaxe:

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

Este comando está disponível em sistemas hospedados nos seguintes ambientes:

  • MongoDB Atlas: o serviço totalmente gerenciado para implantações MongoDB na nuvem

Observação

Este comando tem suporte limitado em clusters M0, M2, M5 e M10 . Para obter mais informações, consulte Comandos não suportados.

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]

Para visualizar sessões existentes, consulte operação $listSessions ou $listLocalSessions.

Dica

Veja também:

[1](1, 2) A operação killAllSessions ignora sessões que têm transações no estado preparado. Consulte Comportamento para ver detalhes.

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.

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.

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 .

A operação killAllSessions ignora sessões que possuem 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.

A operação a seguir finaliza todas as sessões para todos os usuários no sistema:

db.runCommand( { killAllSessions: [ ] } )

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" }
] } )
← endSessions