凡客网站建立,天津市建设与管理局网站下载,网站建设什么因素最重要,从那些方面建设网站go在使用mongoDb时用到了全局会话#xff0c;发现在创建的session的逻辑相同#xff0c;首先会进行数据的查询#xff0c;此时获取了全局session执行读操作#xff0c;查询所有文档#xff0c;则当前会话为读会话#xff0c;当再去插入时发现会报错#xff0c;此时sessi…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
------苹果插入成功
捕获异常并补偿成功