如何在mongodb连接uri上分别指定认证数据库和目标数据库?

Joe*_*hao 14 mongodb mongodb-3.4

我使用这个连接URI来连接到MongoDB的:mongodb://user:password@localhost/admin。它将admin用作机器人身份验证和目标数据库。如何使 uriadmin用作身份验证但允许我连接到不同的数据库?请参阅以下命令作为示例:

mongo --host localhost -u user -p password --authentication admin test

上述命令将用作admin身份验证数据库但连接到test数据库。我怎么能在uri上做同样的事情?

小智 30

是的..很容易!

mongo "mongodb://test:testpwd@localhost/test?authSource=admin"
MongoDB shell version v3.4.6
connecting to: mongodb://test:testpwd@localhost/test?authSource=admin
MongoDB server version: 3.4.6
MongoDB> db
test
MongoDB> 
Run Code Online (Sandbox Code Playgroud)

您将目标数据库放在“基本”字符串的末尾,并将身份验证数据库添加到参数 authSource