我可以使用一个用户来连接MongoDB中的不同数据库吗?

时间:2018-07-03 09:43:44

标签: node.js mongodb

我尝试在mongodb中的“ root”,“ readWriteManyDatabase”角色的数据库“ admin”中创建用户以连接到不同的数据库,但似乎无法使用 该用户可以直接连接到其他数据库,但是在数据库管理员中运行db.auth()后,我可以对其他数据库进行操作。 因此,有什么方法可以使用同一用户直接连接到不同数据库,而无需先连接到数据库“ admin”

1 个答案:

答案 0 :(得分:1)

在连接数据库服务器时,请确保您正在使用管理数据库进行身份验证,可以通过传递查询字符串参数authSource在MongoDB连接字符串上指定此身份。例如:

mongodb://username:password@my-server/my-db?&authSource=admin

如果您未指定身份验证源,则它将尝试使用指定的数据库(在这种情况下为my-db

)进行身份验证

如果您使用的是shell,则可以将其指定为authenticationDatabase的缩写,例如:

mongo localhost -u user -p password --authenticationDatabase admin