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: { } } ] )
相关推荐
懒羊羊不懒@14 小时前
Java一、二维数组
开发语言·python
中等生14 小时前
uvicorn 和 gunicorn
python
爱学习的小鱼gogo14 小时前
python 单词搜索(回溯-矩阵-字符串-中等)含源码(二十)
开发语言·数据结构·python·矩阵·字符串·回溯·递归栈
AI 嗯啦14 小时前
深度学习——Python 爬虫原理与实战:从入门到项目实践
爬虫·python·深度学习
MediaTea14 小时前
Python 第三方库:Word Cloud(词云图生成)
开发语言·python
B站_计算机毕业设计之家14 小时前
python股票交易数据管理系统 金融数据 分析可视化 Django框架 爬虫技术 大数据技术 Hadoop spark(源码)✅
大数据·hadoop·python·金融·spark·股票·推荐算法
weixin_4329003715 小时前
口碑好的共晶贴片机公司
python·数码相机
如竟没有火炬15 小时前
全排列——交换的思想
开发语言·数据结构·python·算法·leetcode·深度优先
机器瓦力15 小时前
Trae使用:重构一个项目
python·ai编程