On this page本页内容
$listSessions
¶New in version 3.6.版本3.6中的新功能。
Lists all sessions stored in the 列出存储在配置数据库的system.sessions
collection in the config
database. system.sessions
集合中的所有会话。These sessions are visible to all members of the MongoDB deployment.MongoDB部署的所有成员都可以看到这些会话。
Important重要的
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. mongod
或mongos
实例上创建会话时,会话记录最初仅存在于实例的内存中;该记录是实例的本地记录。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. system.sessions
collection in the config
集合,此时,$listSessions
和部署的所有成员都可以看到它们。Until the session record exists in the 在system.sessions
collection, you can only list the session via the $listLocalSessions
operation.system.sessions
集合中存在会话记录之前,只能通过$listLocalSessions
操作列出会话。
To run 要运行$listSessions
, it must be the first stage in the pipeline.$listSessions
,它必须是管道中的第一个阶段。
The stage has the following syntax:此阶段语法如下所示:
The $listSessions
stage takes a document with one of the following contents:$listSessions
阶段接收包含以下内容之一的文档:
{ } |
|
{ users: [ { user: <user>, db: <db> }, ... ] } |
listSession action on the cluster to list sessions for other users.listSession 操作的权限,才能列出其他用户的会话。 |
{ allUsers: true } |
listSession action on the cluster.listSession 操作的权限。 |
事务中不允许使用$listSessions
is not allowed in transactions.$listSessions
。
From the 从system.sessions
collection, the following aggregation operation lists all sessions:system.sessions
集合中,以下聚合操作将列出所有会话:
Note
If running with access control, the current user must have privileges with 如果使用访问控制运行,则当前用户必须具有在群集上执行listSession
action on the cluster.listSession
操作的权限。
From the 从system.sessions
collection, the following aggregation operation lists all sessions for the specified user myAppReader@test
:system.sessions
集合中,以下聚合操作列出指定用户的所有会话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.listSession
操作的权限。
From the 在system.sessions
collection, the following aggregation operation lists all sessions for the current user if run with access control:system.sessions
集合中,如果使用访问控制运行,以下聚合操作将列出当前用户的所有会话:
If run without access control, the operation lists all sessions.如果在没有访问控制的情况下运行,该操作将列出所有会话。