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
------
=====
苹果插入成功
捕获异常并补偿成功!
相关推荐
fendouweiqian11 分钟前
python请求SSL问题
网络·python·ssl
骷大人22 分钟前
mysql开启配置binlog
数据库·mysql
Yolo_nn23 分钟前
MySQL_第14章_存储过程与函数
数据库·mysql·存储过程·函数
GDDGHS_32 分钟前
Flink自定义数据源
大数据·数据库·flink
fuvuof37 分钟前
设计模式——单例模式和工厂模式
python·单例模式·设计模式
东方佑1 小时前
给图像去除水印攻
人工智能·python
Milk夜雨1 小时前
数据库进阶教程:结合编程实现动态数据操作
数据库·python·adb
weisian1511 小时前
Redis篇-5--原理篇4--Lua脚本
数据库·redis·lua
tangjunjun-owen1 小时前
异常安全重启运行机制:健壮的Ai模型训练自动化
人工智能·python·安全·异常重运行或重启