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> }, ... ] } | listSessionaction on the cluster to list sessions for other users.listSession操作的权限,才能列出其他用户的会话。 | 
| { allUsers: true } | listSessionaction 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.如果在没有访问控制的情况下运行,该操作将列出所有会话。