Join us Sept 17 at .local NYC! Use code WEB50 to save 50% on tickets. Learn more >
MongoDB Event
Menu Docs
Página inicial do Docs
/
Manual do banco de dados
/ / /

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

$listLocalSessions

Lista as sessões armazenadas em cache na memória pela instância mongod ou mongos .

Importante

Quando um usuário cria uma sessão em uma instância do mongod ou mongos, o registro da sessão inicialmente existe somente na memória na 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 system.sessions banco de dados do config, quando, eles são visíveis para $listSessions e todos os membros da implantação. Até que o registro da sessão exista na coleção system.sessions, você só pode listar a sessão por meio da operação $listLocalSessions.

A operação $listLocalSessions utiliza o método db.aggregate() e não o db.collection.aggregate().

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

O estágio tem a seguinte sintaxe:

{ $listLocalSessions: <document> }

O estágio $listLocalSessions 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.

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

A partir do cache de sessões na memória da instância mongod / mongos conectada, 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.

db.aggregate( [ { $listLocalSessions: { allUsers: true } } ] )

A partir do cache de memória da instância mongod ou mongos conectada, a seguinte operação de agregação lista todas as sessões do 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.

db.aggregate( [ { $listLocalSessions: { users: [ { user: "myAppReader", db: "test" } ] } } ] )

No cache de memória da instância mongod / mongos conectada, a seguinte operação de aggregation lista todas as sessões para o usuário atual se for executada com controle de acesso:

db.aggregate( [ { $listLocalSessions: { } } ] )

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

Para usar o driver Node.js do MongoDB para adicionar um estágio $listLocalSessions a um pipeline de agregação , use o operador $listLocalSessions em um objeto de pipeline.

A seguinte operação de agregação lista todas as sessões locais:

const pipeline = [{ $listLocalSessions: { allUsers: true } }];
const cursor = db.aggregate(pipeline);
return cursor;

Observação

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

A seguinte operação de agregação lista todas as sessões para o usuário especificado myAppReader@test:

const pipeline = [
{
$listLocalSessions: {
users: [{ user: "myAppReader", db: "test"}]
}
}
];
const cursor = db.aggregate(pipeline);
return cursor;

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.

Se for executada com controle de acesso, a seguinte operação de agregação listará todas as sessões do usuário atual:

const pipeline = [{ $listLocalSessions: {} }];
const cursor = db.aggregate(pipeline);
return cursor;

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

Voltar

$limit

Nesta página