MongoDB 聚合:$listSessions

列出存储在config数据库system.sessions集合中的所有会话。MongoDB部署的所有成员都能看到这些会话。

当用户在mongod或mongos实例上创建会话时,会话最初存储在实例的内存中,也就是实例的本地记录。实例会定期将本地缓存的会话同步到config数据库中的system.sessions集合,会话对$listSessions和部署的所有成员可见,在会话记录存在于system.sessions集合之前,只能通过$listLocalSessions操作列出会话。

语法

js 复制代码
{ $listSessions: <document> }

使用

$listSessions可以接受一个文档,文档的字段如下:

字段 说明
{ } 返回当前已验证用户的所有会话。没有访问控制,则返回所有会话。
{ users: [ { user: <user>, db: <db> }, ... ] } 返回指定用户的所有会话。如果运行时有访问控制,则通过身份验证的用户必须拥有在群集上执行 listSessions 操作的权限,才能列出其他用户的会话。
{ allUsers: true } 返回所有用户的所有会话。如果运行时有访问控制,则通过身份验证的用户必须拥有在群集上执行 listSessions 操作的权限。
  • 事务中不允许使用$listSessions
  • $listSessions必须是管道中的第一个阶段。

举例

**注意:**如果使用访问控制运行,当前用户必须拥有在群集上执行$listSessions操作的权限。

列出全部会话

以下聚合操作会从system.sessions集合中列出所有会话:

js 复制代码
use config

db.system.sessions.aggregate( [  { $listSessions: { allUsers: true } } ] )

列出指定用户的全部会话

以下聚合操作将从system.sessions集合中列出指定用户myAppReader@test的所有会话:

js 复制代码
use config

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

列出当前用户的全部会话

js 复制代码
use config
db.system.sessions.aggregate( [ { $listSessions: { } } ] )
相关推荐
取经蜗牛9 小时前
Python 第一阶段完全指南:从零到第一个实用工具
开发语言·python
创世宇图9 小时前
【Python工程化实战】OpenTelemetry 在 Python 中的全链路追踪落地:从埋点到可视化的完整实战指南
python·分布式链路追踪·性能监控·opentelemetry·微服务可观测性
许彰午10 小时前
72_Python爬虫基础BeautifulSoup
爬虫·python·beautifulsoup
zhanghongyi_cpp11 小时前
10. 实验书3.4.2 筛选达到预警阈值的病虫害数据
python
tuddy78946411 小时前
Codex++ 安全边界探秘:从模型能力到风险防御
人工智能·python·安全
C++、Java和Python的菜鸟11 小时前
第1章 集合高级
java·jvm·python
第六五11 小时前
Python 内置装饰器
开发语言·python
梦帮科技11 小时前
UE5 GAS 实战:用 Gameplay Ability System 搭建「赛博修真」境界与技能体系
c++·人工智能·python·ue5·c#
码来的小朋友12 小时前
手把手教你用 Python + PyQt5 做一个可视化图片切图工具
开发语言·python·microsoft
weixin1997010801612 小时前
[特殊字符]《京东订单API(jd.order.detail.get)对接ERP:企业认证+OAuth授权避坑指南》(附Python源码)
java·数据库·python