Java 弹簧靴&x2B;Mongo副本集:错误代码16550';未授权查询';

Java 弹簧靴&x2B;Mongo副本集:错误代码16550';未授权查询';,java,spring,mongodb,spring-boot,spring-data-mongodb,Java,Spring,Mongodb,Spring Boot,Spring Data Mongodb,我遇到了一个奇怪的情况,我有一个Mongo副本集(3个不同服务器中的3个副本),我尝试将一个数据存储库(Spring数据)连接到Mongo副本集。我的用户具有readWrite和dbAdmin角色,但我仍然无法执行查询 我在本地机器上复制了相同的复制集环境,可以毫无问题地执行操作 背景如下: 在3台不同的计算机上具有3个mongos的副本集 数据库xpto,其中用户myuser由两个角色定义:readWrite+dbAdmin Spring配置Mongo URI(未定义主机、密码、数据库值,仅

我遇到了一个奇怪的情况,我有一个Mongo副本集(3个不同服务器中的3个副本),我尝试将一个数据存储库(Spring数据)连接到Mongo副本集。我的用户具有readWrite和dbAdmin角色,但我仍然无法执行查询

我在本地机器上复制了相同的复制集环境,可以毫无问题地执行操作

背景如下:

  • 在3台不同的计算机上具有3个mongos的副本集
  • 数据库xpto,其中用户myuser由两个角色定义:readWrite+dbAdmin
  • Spring配置Mongo URI(未定义主机、密码、数据库值,仅定义URI):
    mongodb://myuser:myuserpass@localhost:27017、localhost:27018、localhost:27019/xpto
  • MongoDB版本:2.4.9
  • 启动时,Spring引导显示日志:
    org.mongodb.driver.cluster-监视器线程成功连接到服务器,描述为ServerDescription{address=127.0.0.1:27017,type=REPLICA\u SET\u SECONDARY,state=connected,ok=true,version=ServerVersion{versionList=[2,4,9]},minWireVersion=0,maxWireVersion=0,maxDocumentSize=16777216,roundTripTimeNanos=876458,(…)
  • 但是,当使用简单的
    find()
    方法调用存储库时,会引发异常:
    com.mongodb.MongoQueryException:Query失败,错误代码16550,错误消息“未授权查询…”
当我使用完全相同的配置在本地计算机上安装相同的副本集时,但使用mongoDB版本3.4.1我可以像预期的那样毫无问题地执行此操作

问题的根源是mongoDB版本中的差异吗?还是我在这里遗漏了什么

谢谢