Para agentes de IA: hay un índice de documentación disponible en https://www.mongodb.com/es/docs/llms.txt — versiones en markdown de todas las páginas están disponibles agregando .md a cualquier ruta URL.
Docs Menu

$listLocalSessions (etapa de agregación)

$listLocalSessions

Enumera las sesiones almacenadas en caché en la memoria por la instancia mongod o mongos.

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.

The $listLocalSessions operation uses the db.aggregate() method and not the db.collection.aggregate().

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

La etapa tiene la siguiente sintaxis:

{ $listLocalSessions: <document> }

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

Campo
Descripción

{ }

Si se ejecuta con control de acceso, devuelve todas las sesiones para el usuario autenticado actual.

Si se ejecuta sin control de acceso, se devuelven todas las sesiones.

{ users: [ { user: <user>, db: <db> }, ... ] }

Devuelve todas las sesiones de los usuarios especificados. Si se ejecuta con control de acceso, el usuario autenticado debe tener privilegios con la acción listSessions en el clúster para listar sesiones de otros usuarios.

{ allUsers: true }

Devuelve todas las sesiones de todos los usuarios. Si se ejecuta con control de acceso, el usuario autenticado debe tener privilegios con la acción listSessions en el clúster.

$listLocalSessions no se permite en las transacciones.

Desde la memoria caché de sesiones en memoria de la instancia conectada mongod / mongos, la siguiente operación de agregación enumera todas las sesiones:

Nota

Si se ejecuta con control de acceso, el usuario actual debe tener privilegios con la acción listSessions en el clúster.

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

Desde la caché en memoria de la instancia conectada mongod o mongos, la siguiente operación de agregación lista todas las sesiones para el usuario especificado myAppReader@test:

Nota

Si se ejecuta con control de acceso y el usuario actual no es el usuario especificado, el usuario actual debe tener privilegios con la acción de listSessions en el clúster.

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

Desde la caché en memoria de la instancia conectada mongod / mongos, la siguiente operación de agregación lista todas las sesiones del usuario actual si se ejecuta con control de acceso:

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

Si se ejecuta sin control de acceso, la operación muestra todas las sesiones locales.

Para utilizar el controlador de MongoDB Node.js para agregar una etapa de $listLocalSessions a una canalización de agregación, utilice el Operador $listLocalSessions en un objeto de canalización.

La siguiente operación de agregación muestra todas las sesiones locales:

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

Nota

Si se ejecuta con control de acceso, el usuario actual debe tener privilegios con la acción listSessions en el clúster.

La siguiente operación de agregación enumera todas las sesiones para el usuario especificado myAppReader@test:

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

Nota

Si se ejecuta con control de acceso y el usuario actual no es el usuario especificado, el usuario actual debe tener privilegios con la acción de listSessions en el clúster.

Si se ejecuta con control de acceso, la siguiente operación de agregación lista todas las sesiones para el usuario actual:

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

Si se ejecuta sin control de acceso, la operación enumera todas las sesiones locales.

$listLocalSessions devuelve un cursor con un documento por sesión almacenado en caché en la memoria. Cada documento tiene el siguiente prototipo:

{
_id: {
id: <UUID>,
uid: <BinData>
},
lastUse: <date>
}
Campo
Tipo
Descripción

_id.id

UUID

El identificador único universal (UUID) de la sesión.

_id.uid

BinData

Una encriptada de las credenciales del usuario autenticado asociadas a la sesión.

lastUse

fecha

La fecha y hora en que se utilizó la sesión por última vez.

Califique esta página