我根据文档创建了一个管理用户:
use admin
db.createUser(
{
user: "siteUserAdmin2",
pwd: "password",
roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
}
)
然后我在 Mongodb 控制台中创建一个用户:
use x
db.createUser(
{
user: "xuser",
pwd: "xuser123",
roles: ["readWrite"]
}
)
我可以像这样在控制台中登录管理员用户:
mongo --port 27017 -u siteUserAdmin -p password --authenticationDatabase admin
但是我如何登录用户帐户呢?
我尝试了用户名和密码,但没有成功。我也不知道要在 --authenticationDatabase
中放入什么。我也无法使用 Mongoose 登录。
感谢任何帮助,谢谢。
最佳答案
当您使用 mongoose 或其他驱动程序等的用户凭据进行连接时,通常首选使用 connection string format.
mongoose.connect('mongodb://siteuserAdmin:password@localhost/admin')
当然,如上所述连接到身份验证数据库
If you do not specify a value for --authenticationDatabase, mongo uses the database specified in the connection string.
对于需要执行管理选项的连接来说就是这种情况。否则,可以提供凭据并与该帐户具有权限的相应数据库建立连接。
关于javascript - 使用用户帐户登录 MongoDB,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28848840/