【问题标题】:createConnection MongoError: Authentication failedcreateConnection MongoError:身份验证失败
【发布时间】:2021-10-09 11:19:12
【问题描述】:

我有一个使用 MongoDB 作为数据库的 node.js 应用程序。 我也有 MongoDB 的管理。 当应用程序启动时,它会毫无问题地连接到 MongoDB。 我试图让用户定义他/她将连接到哪个数据库。为此,我创建了这样的 mongo.conf:

在应用程序中,我这样定义了连接 uri: MONGODB_URL="mongodb://:@34.72.5.46:27017/"

数据库用户具有 root 角色。正如我所提到的,在第一次打开应用程序时,它会连接到数据库。在第一次打开时,我使用的是 mongoose.connect 但是当用户通过应用程序插入一个不存在的数据库名称时,我使用的是 mongoose.createConnection。然后我得到这个错误:

MongoNetworkError:第一次连接时无法连接到服务器 [34.72.5.46:27017] [MongoError:身份验证失败。

我该怎么办?

【问题讨论】:

  • 也许分享您用来连接的代码? username:password 很可能不正确。
  • 请不要粘贴截图,使用格式化文本。见meta.stackoverflow.com/a/285557/3027266
  • @ŠimonKocúrek 用户名和密码正确。正如我所提到的,我可以在第一次打开应用程序时进行连接。但是后来我使用了 mongoose 库的 createConnection 方法。代码是这样的:await mongoose .createConnection(process.env.MONGODB_URL.concat(req.body.company))
  • mongod 日志中关于身份验证尝试的内容是什么?

标签: node.js mongodb mongoose


【解决方案1】:

我解决了我的问题。需要在 mongo URI 末尾添加“?authSource=admin”

【讨论】:

    猜你喜欢
    • 2016-04-07
    • 1970-01-01
    • 1970-01-01
    • 2016-01-01
    • 1970-01-01
    • 2021-04-24
    • 2018-11-27
    • 2019-09-16
    • 1970-01-01
    相关资源
    最近更新 更多