【发布时间】: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 日志中关于身份验证尝试的内容是什么?