Answers:
是的..轻松!
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>
您将目标数据库放在“基本”字符串的末尾,并将身份验证数据库添加到参数authSource中。
参考:
https://docs.mongodb.com/manual/reference/connection-string/#connections-connection-options
您将需要使用以下格式,而无需使用管理数据库。
mongodb:// user:密码@ localhost / test?authSource = admin
/ database可选。如果连接字符串包含用户名:password @格式的身份验证凭据,则要进行身份验证的数据库的名称。如果未指定/ database并且连接字符串包含凭据,则驱动程序将向admin数据库进行身份验证。
确保您在test
数据库中有一个用户。请参阅本文档的第6节。
根据部署需要创建其他用户。
创建用户的数据库(在此示例中为test)是该用户的身份验证数据库。尽管用户将对此数据库进行身份验证,但是该用户可以在其他数据库中扮演角色;即用户的身份验证数据库不限制用户的权限。
use test
db.createUser(
{
user: "myTester",
pwd: "xyz123",
roles: [ { role: "readWrite", db: "test" },
{ role: "read", db: "reporting" } ]
}
)
test
用作不正确的身份验证数据库。我需要admin
用作身份验证数据库并连接到test
数据库。