Para agentes de IA: um índice de documentação está disponível em https://www.mongodb.com/pt-br/docs/llms.txt — as versões de markdown de todas as páginas estão disponíveis anexando .md a qualquer caminho de URL.
Menu Docs

$listSessions (estágio de agregação )

$listSessions

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

Importante

When a user creates a session on a mongod or mongos instance, the record of the session initially exists only in-memory on the instance; i.e. the record is local to the instance. Periodically, the instance will sync its cached sessions to the system.sessions collection in the config database, at which time, they are visible to $listSessions and all members of the deployment. Until the session record exists in the system.sessions collection, you can only list the session via the $listLocalSessions operation.

To run $listSessions, it must be the first stage in the pipeline.

O estágio tem a seguinte sintaxe:

{ $listSessions: <document> }

The $listSessions stage takes a document with one of the following contents:

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.

$listSessions retorna um cursor com um documento por sessão. Cada documento tem o seguinte protótipo:

{
_id: {
id: <UUID>,
uid: <BinData>
},
lastUse: <date>
}
Campo
Tipo
Descrição

_id.id

UUID

O identificador universalmente exclusivo (UUID) da sessão.

_id.uid

BinData

Um hash das credenciais do usuário autenticado associadas à sessão.

lastUse

data

A data e a hora em que a sessão foi usada pela última vez.