我使用的是MongoDB Atlas,我最近开始在我的MongoDB副本上出现此错误:
不允许用户在[mydb.system.indexes]
上执行操作[find]
没有什么改变,所以我想知道什么是问题。用户在readWrite
上有mydb
个角色,而docs的用户看起来应该有权这样做。此外,我已尝试将用户更改为具有任何权限的管理员用户,但仍然出现此错误。有趣的是,system
中mydb
集合并不存在,但Spring Data会尝试查询并收到此错误。
以下是来自mongo的完整日志:
Error: error: {
"ok" : 0,
"errmsg" : "user is not allowed to do action [find] on [mydb.system.indexes]",
"code" : 8000,
"codeName" : "AtlasError"
}
MongoDB连接URI如下所示:
spring.data.mongodb.uri=mongodb+srv://[USER]:[PASSWORD]@[MONGO_URL].mongodb.net/mydb
我使用Spring 2.0.1.RELEASE
和版本为3.6.3
的mongo java驱动程序。 Mongo副本的版本为3.4.14
。知道发生了什么以及如何解决这个问题?升级用户角色对此没有帮助。