【问题标题】:MongoDB not working after authorization授权后MongoDB不工作
【发布时间】:2017-12-18 00:27:57
【问题描述】:

在任何地方都找不到答案。这就是问题: 我用 MongoDB 在我的 NodeJS 项目中设置了 digitalocean。我已经安装了 NodeJS 和 MongoDB,还克隆了我的项目。起初我在端口 8888 上运行我的项目,它在 mongodb 上运行良好。然后我将admin 用户添加到admin 表中,每当我再次运行我的nodejs 项目时,我都会收到此错误

UnhandledPromiseRejectionWarning: MongoError: not authorized on test to execute command

那怎么授权呢?我应该在运行我的应用程序之前以某种方式授权吗?

我创建的用户:

db.createUser(
  {
    user: "******",
    pwd: "****",
    roles: [ { role: "root", db: "admin" } ]
  }
)

【问题讨论】:

  • 您如何从您的应用程序进行身份验证(您如何传递用户名和密码)?这是相当重要的。请编辑您的问题以显示这一点(当然没有您的真实凭据)。

标签: mongodb digital-ocean


【解决方案1】:

您需要使用用户身份验证更改 mongodb 连接字符串以避免此问题。如果您创建的使用“admin_user”和密码“test1234”和 mongodb 服务器“127.0.0.1:27017”,那么连接字符串如下所示,

"MONGODB_URL": "mongodb://admin_user:test1234@127.0.0.1:27017/YourDBName",

【讨论】:

  • 是的......就是这样......我在发布问题后的 20 分钟后解决了这个问题。首先我在 digitalocean 中设置 DB,但现在我在 mlab.com 上设置它并且效果很好。 :)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-08-09
  • 2014-07-10
  • 2015-08-08
  • 2019-08-07
  • 1970-01-01
  • 2020-01-09
  • 1970-01-01
相关资源
最近更新 更多