- Reference >
- Operators >
- Aggregation Pipeline Stages >
- $listSessions
$listSessions¶
On this page
Definition¶
-
$listSessions
¶ New in version 3.6.
Lists all sessions stored in the
system.sessions
collection in theconfig
database. These sessions are visible to all members of the MongoDB deployment.Important
When a user creates a session on a
mongod
ormongos
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 thesystem.sessions
collection in theconfig
database, at which time, they are visible to$listSessions
and all members of the deployment. Until the session record exists in thesystem.sessions
collection, you can only list the session via the$listLocalSessions
operation.To run
$listSessions
, it must be the first stage in the pipeline.The stage has the following syntax:
The
$listSessions
stage takes a document with one of the following contents:{ }
If running with access control, returns all sessions for the current authenticated user.
If running without access control, returns all sessions.
{ users: [ { user: <user>, db: <db> }, ... ] }
Returns all sessions for the specified users. If running with access control, the authenticated user must have privileges with listSession
action on the cluster to list sessions for other users.{ allUsers: true }
Returns all sessions for all users. If running with access control, the authenticated user must have privileges with listSession
action on the cluster.
Restrictions¶
$listSessions
is not allowed in transactions.
Examples¶
List All Sessions¶
From the system.sessions
collection,
the following aggregation operation lists all sessions:
Note
If running with access control, the current user must have
privileges with listSession
action on the cluster.
List All Sessions for the Specified Users¶
From the system.sessions
collection,
the following aggregation operation lists all sessions for the
specified user myAppReader@test
:
Note
If running with access control and the current user is not the
specified user, the current user must
have privileges with listSession
action on the cluster.
List All Sessions for the Current User¶
From the system.sessions
collection,
the following aggregation operation lists all sessions for the current
user if run with access control:
If run without access control, the operation lists all sessions.