我目前正在使用带有mongodb本机驱动程序的nodejs。所以我的mongodb已设置为具有root角色的admin auth,所以我可以使用robomongo或命令行登录就好了。所以回到我的项目,如果我设置我的连接字符串,我能够很好地连接到mongodb:
mongodb://admin:password@localhost:27017/
但是,如果我使用此连接字符串:
mongodb://admin:password@localhost:27017/specificdb
它返回:
MongoError:身份验证失败
我可以使用命令和robomongo访问db,有什么我可以做的吗?我已经在db下添加了admin用户,但仍然遇到了同样的问题。
答案 0 :(得分:2)
您指定的数据库是您进行身份验证的数据库。如果用户不知道/没有该数据库的角色,则无法对其进行身份验证。
https://docs.mongodb.com/manual/reference/connection-string/
您可以做的是为该数据库创建(或新)用户或使用身份验证数据库参数。