admin 管理员组文章数量: 888338
mongodb
system.sessions
该system.sessions集合存储可供部署的所有成员使用的session记录。
当用户在mongod或 mongos实例上创建session时,该session记录最初仅存在于该实例的内存中。实例会定期将其缓存的session同步到system.sessions集合,当同步完成后,这些session对部署的所有成员都是可见的。
要查看system.sessions集合中的记录,需使用 $listSessions。
如果是在分片群集中,那么system.sessions集合将会被分片。
- 当添加一个shard到分片群集时,如果要添加的shard已经包含其自己的system.sessions集合,那么MongoDB会在添加shard的过程中删除该shard自身的system.sessions集合。
- 从版本4.4(4.2.7)开始,MongoDB自动将system.sessions集合拆分为至少1024个块,并将这些块均匀地分布在集群中的各个分片上。
$listSessions使用
3.6版中的新功能。
当用户在mongod或 mongos实例上创建session时,该session记录最初仅存在于该实例的内存中。实例会定期将其缓存的session同步到system.sessions集合,当同步完成后,这些session对部署的所有成员都是可见的。
要使用$listSessions时,它必须在pipeline中的第一阶段。
{ $listSessions: <document> }
Field | Description |
---|---|
{} | 如果使用访问控制运行,则返回当前经过身份验证的用户的所有会话。如果运行时没有访问控制,则返回所有会话。 |
{ users: [ { user: , db: }, … ] } | 返回指定用户的所有会话。如果使用访问控制运行,则已认证的用户必须listSessions对集群具有操作权限,才能列出其他用户的会话。 |
{ allUsers: true } | 返回所有用户的所有会话。如果使用访问控制运行,则已认证的用户必须具有listSessions对集群执行操作的特权 。 |
使用示例:
use config
db.system.sessions.aggregate( [ { $listSessions: { allUsers: true } } ] )
警告
不要手动修改或删除system.sessions集合。
本文标签: mongodb
版权声明:本文标题:mongodb 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/jishu/1693583344h230614.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论