mongoDb的读session和写session权限报错问题

go在使用mongoDb时用到了全局会话,发现在创建的session的逻辑相同,首先会进行数据的查询,此时获取了全局session执行读操作,查询所有文档,则当前会话为读会话,当再去插入时发现会报错,此时session读会话不能执行写权限,起初不知什么原因就去测试,发现全局session创建后第一次使用的操作会影响它的操作权限,查询会话与写会话不一样,如果建立后使用的是写就为写权限如果执行查就查权限,去查的执行写报错,写的执行查的会话可以完成。

通过golang的异常捕获和尝试就发现了这个问题,操作输出如下:复用会话,但是跨了行为定义的权限会报错,就需要重新初始话全局session,这中读写权限的区分保正多用户的安权。

复制代码
开始读
再写
mydb fileSource
------
err错误信息: Session already closed
再重新建立连接
CreateSession success!!
mydb fileSource
------
=====
苹果插入成功
捕获异常并补偿成功!
CreateSession success!!
fileSource
6
数据执行成功!
查到的结果大小 6
LastOf执行
CreateSession success!!
fileSource
6
数据执行成功!
查到的结果大小 6
LastOf执行
LastOf执行
LastOf执行

CreateSession success!!
fileSource
6
数据执行成功!
查到的结果大小 6
LastOf执行
LastOf执行
LastOf执行
LastOf执行
LastOf执行
LastOf执行
再写
mydb fileSource
------
err错误信息: Session already closed
再重新建立连接
CreateSession success!!
mydb fileSource
------
=====
苹果插入成功
捕获异常并补偿成功!

mydb fileSource
------
=====
苹果插入成功
CreateSession success!!
fileSource
8
数据执行成功!
查到的结果大小 8
LastOf执行
LastOf执行
再写
mydb fileSource
------
err错误信息: Session already closed
再重新建立连接
CreateSession success!!
mydb fileSource
------
=====
苹果插入成功
捕获异常并补偿成功!
相关推荐
smart margin1 分钟前
Python安装教程
开发语言·python
Looooking2 分钟前
Python 流程自动化之 DrissionPage 使用示例
python·自动化·drissionpage
阿贵---2 分钟前
定时任务专家:Python Schedule库使用指南
jvm·数据库·python
TsukasaNZ2 分钟前
如何为开源Python项目做贡献?
jvm·数据库·python
尽兴-3 分钟前
构建坚如磐石的 Redis 服务:数据安全性与高可用架构全解析
数据库·redis·架构·主从·aof·哨兵·rdb
云晓-5 分钟前
从零入门智能体:核心概念与发展脉络全解析
python
老刘学达梦6 分钟前
达梦数据库表统计信息收集时间分析
数据库
范纹杉想快点毕业10 分钟前
C语言综合项目实战练手:基于C语言的简单数据库系统实现
服务器·c语言·数据库
nananaij11 分钟前
【LeetCode-05 好数对的数目 python解法】
python·算法·leetcode
請你喝杯Java24 分钟前
Python 后端开发:从虚拟环境、pip、requirements.txt 到项目启动
开发语言·python·pip