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: { } } ] )
相关推荐
晚夜微雨问海棠呀22 分钟前
长沙景区数据分析项目实现
开发语言·python·信息可视化
cdut_suye32 分钟前
Linux工具使用指南:从apt管理、gcc编译到makefile构建与gdb调试
java·linux·运维·服务器·c++·人工智能·python
dundunmm1 小时前
机器学习之scikit-learn(简称 sklearn)
python·算法·机器学习·scikit-learn·sklearn·分类算法
古希腊掌管学习的神1 小时前
[机器学习]sklearn入门指南(1)
人工智能·python·算法·机器学习·sklearn
一道微光1 小时前
Mac的M2芯片运行lightgbm报错,其他python包可用,x86_x64架构运行
开发语言·python·macos
四口鲸鱼爱吃盐2 小时前
Pytorch | 利用AI-FGTM针对CIFAR10上的ResNet分类器进行对抗攻击
人工智能·pytorch·python
是娜个二叉树!2 小时前
图像处理基础 | 格式转换.rgb转.jpg 灰度图 python
开发语言·python
互联网杂货铺2 小时前
Postman接口测试:全局变量/接口关联/加密/解密
自动化测试·软件测试·python·测试工具·职场和发展·测试用例·postman
一只路过的猫咪2 小时前
thinkphp6使用MongoDB多个数据,聚合查询的坑
数据库·mongodb