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