Menu Docs
Página inicial do Docs
/
Manual do MongoDB
/ / /

$listSessions

Nesta página

  • Definição
  • Restrições
  • Exemplos
$listSessions

Novidade na versão 3.6.

Lista todas as sessões armazenadas na coleção system.sessions no banco de banco de dados config . Essas sessões são visíveis para todos os membros do sistema do MongoDB .

Importante

Quando um usuário cria uma sessão em uma instância mongod ou mongos , o registro da sessão existe inicialmente apenas na memória da instância; ou seja, o registro é local para a instância. Periodicamente, a instância sincronizará suas sessões em cache com a coleção do config system.sessions banco de dados do , quando, eles são visíveis para $listSessions e todos os membros da implantação. Até que o registro de sessão exista na coleção system.sessions , você só pode listar a sessão por meio da operação $listLocalSessions .

Para executar $listSessions, ele deve ser o primeiro estágio no pipeline.

O estágio tem a seguinte sintaxe:

{ $listSessions: <document> }

O estágio $listSessions recebe um documento com um dos seguintes conteúdos:

Campo
Descrição
{ }

Se estiver executando com controle de acesso, retorna todas as sessões para o usuário autenticado atual.

Se estiver executando sem controle de acesso, retorne todas as sessões.

{ users: [ { user: <user>, db: <db> }, ... ] }
Retorna todas as sessões para os usuários especificados. Se estiver executando com controle de acesso, o usuário autenticado deverá ter privilégios com a ação listSessions no cluster para listar sessões para outros usuários.
{ allUsers: true }
Retorna todas as sessões para todos os usuários. Se estiver executando com controle de acesso, o usuário autenticado deverá ter privilégios com a ação listSessions no cluster.

$listSessions não é permitido em transações.

Na coleção system.sessions, a seguinte operação de aggregation lista todas as sessões:

Observação

Se estiver executando com controle de acesso, o usuário atual deve ter privilégios com a ação listSessions no cluster.

use config
db.system.sessions.aggregate( [ { $listSessions: { allUsers: true } } ] )

Na coleção system.sessions, a seguinte operação de aggregation lista todas as sessões para o usuário especificado myAppReader@test:

Observação

Se estiver executando com controle de acesso e o usuário atual não for o usuário especificado, o usuário atual deverá ter privilégios com a ação listSessions no cluster.

use config
db.system.sessions.aggregate( [ { $listSessions: { users: [ {user: "myAppReader", db: "test" } ] } } ] )

Na coleção system.sessions, a seguinte operação de aggregation lista todas as sessões para o usuário atual se executar com controle de acesso:

use config
db.system.sessions.aggregate( [ { $listSessions: { } } ] )

Se executar sem o controle de acesso, a operação listará todas as sessões.

Voltar

$listLocalSessions