使用用户帐户登录MongoDB
MongoDB login with user account
我根据文档创建了一个管理用户:
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或其他驱动程序的用户凭据进行连接时,通常首选使用连接字符串格式。
mongoose.connect('mongodb://siteuserAdmin:password@localhost/admin')
当然,还可以连接到前面提到的身份验证数据库
如果没有为--authenticationDatabase指定值,mongo将使用连接字符串中指定的数据库。
对于需要执行管理选项的连接,情况就是这样。否则,可以提供凭据,并连接到帐户具有权限的适当数据库。
您可以通过指定数据库来使用xuser
进行日志记录。我创建了与您相同的用户,并尝试从控制台登录,效果很好。
mongo --username xuser --pasword xuser123 --authenticationDatabase x
登录后,我还运行connectionStatus
命令查看当前用户:
db.runCommand({connectionStatus: 1});
//output
{
"authInfo" : {
"authenticatedUsers" : [
{
"user" : "xuser",
"db" : "x"
}
]
},
"ok" : 1
}
相关文章:
- 使用acess代币登录Facebook,并通过网络应用程序离线发布
- 如何缩短MongoDB ObjectId并在Mongoose模式中使用它
- 如何处理node.js节点mongodb中的连接和查询队列
- 尝试使用Phonegap进行php登录
- MongoDB (php) - 以数组而不是多个属性的形式返回文档属性
- Facebook登录按钮没有'不能在Firefox上工作
- 使用javascript反复检查用户在facebook上的登录状态
- 使用mongodb更新中的一个变量
- Firebase-登录时获取url
- 键名中的 MongoDB 点 (.)
- BrowserId登录请求在文档加载时被调用
- 使用用户帐户登录MongoDB
- expressJS + MongoDB - 登录/注册方法
- 针对MongoDB检查登录凭据不起作用
- Node.js,MongoDB登录表单
- MongoDB + Express:如何使用db.collection(). findone()或.find()验证登录
- 在Express js + mongodb中显示登录用户的具体信息
- 无法使用MongoDB和Node.js登录
- Node.js & MongoDB (mongoose) 中的登录表单
- 护照Facebook登录没有保存正确的ID到mongodb数据库