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
------
=====
苹果插入成功
捕获异常并补偿成功!
相关推荐
二闹12 分钟前
Python打印值的两种写法,到底有啥不同?
python
站大爷IP21 分钟前
Python构建MCP服务器:从工具封装到AI集成的全流程实践
python
m0_748254091 小时前
2025最新华为云国际版注册图文流程-不用绑定海外信用卡注册
服务器·数据库·华为云
清风6666661 小时前
基于51单片机自动浇花1602液晶显示设计
单片机·嵌入式硬件·mongodb·毕业设计·51单片机·课程设计
大新屋1 小时前
MongoDB 分片集群修改管理员密码
数据库·mongodb
ejinxian2 小时前
MySQL/Kafka数据集成同步,增量同步及全量同步
数据库·mysql·kafka
未来之窗软件服务2 小时前
数据库优化提速(一)之进销存库存管理—仙盟创梦IDE
数据库·sql·数据库调优
深盾安全2 小时前
Python 装饰器详解
python
前端小趴菜052 小时前
python - 数据类型转换
python
Mapmost3 小时前
信创浪潮下的GIS技术变革:从自主可控到生态繁荣
数据库