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
------
=====
苹果插入成功
捕获异常并补偿成功!
相关推荐
bst@微胖子17 分钟前
CrewAI+FastAPI实现营销战略协助智能体项目
android·数据库·fastapi
小鸡脚来咯19 分钟前
MySQL面试题
数据库·mysql
BBB努力学习程序设计37 分钟前
深入理解 Python 中的深浅拷贝(Shallow Copy & Deep Copy):避免数据引用的 “坑”
python
BBB努力学习程序设计42 分钟前
深入理解 Python 中的闭包(Closure):封装状态的函数式编程利器
python
、BeYourself1 小时前
✅ 宝塔 PostgreSQL 安装 contrib 扩展完整指南
数据库·postgresql·springai
枫叶丹41 小时前
【Qt开发】Qt系统(二)-> 事件分发器
c语言·开发语言·数据库·c++·qt·系统架构
澜莲花1 小时前
python图色之opencv基础---验证码实战
开发语言·python·opencv
代码游侠1 小时前
复习—sqlite基础
linux·网络·数据库·学习·sqlite
import_random1 小时前
[python]dataframe二维数据 -- > 三维数据
python
计算机毕设VX:Fegn08951 小时前
计算机毕业设计|基于springboot + vue小区人脸识别门禁系统(源码+数据库+文档)
数据库·vue.js·spring boot·后端·课程设计