javascript - 使用用户帐户登录 MongoDB

标签 javascript node.js mongodb mongoose

我根据文档创建了一个管理用户:

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/

相关文章:

node.js - Mongoose 错误 : You can not `mongoose.connect()` multiple times while connected

python - 聚合 QuerySet 以获得 FileFields 大小的总和

javascript - 如何停止div右侧的水平滚动

node.js - 子模块不是 git 命令(在 Windows 的 GIT 上使用 NPM)

javascript - 将 Node.js 请求包装到 Promise 和管道中

mongodb - xDB 不存储任何交互

javascript - 以编程方式将子节点添加到 jstree

javascript - Angular 休息身份验证安全吗?

javascript - 我的控制台中跨站点 cookie 的这些警告是什么?

node.js - 数组中 graphql 对象类型的 GraphQL 字段