mongodb用客户端可以连接,java连接一直报错误,认证失败

Scroll Down

项目前两天遇到了这个错,因为要迁移mongodb上阿里云,dba给我们生成了mongodb的只读权限的账户。在修改代码的时候报了一个错

因为上次项目中出现了这种情况,因此做此记录!

报了认证失败,一般有下面几个原因:

  1. mongodb认证的密码错误(一般情况下客户端连接成功则这个可以排除)
  2. 只读账户操作了写/删/增的操作
  3. 如果是只读权限,并且你使用了mongoTemplate框架,请注意对应的mongo表的实体类上有没有标注@Index索引的注解,因为mongo在查询的时候先看你当前class上有没有标注索引注解,如果标注@Index则会先尝试去createIndex(注意,这是一个只读账户,没有create权限),因此报了认证失败的错误

下次回公司把错误代码粘贴到文章内