【问题标题】:Can't connect to mongodb container when i add path to a database向数据库添加路径时无法连接到 mongodb 容器
【发布时间】:2021-11-02 00:31:34
【问题描述】:

我在本地运行 mongoDB 作为 docker 容器,并在启动容器时启动数据库创建。但是当我向 dB 添加路径时,我似乎无法从我的 nodejs 应用程序连接到数据库。例如,当我使用“mongoDB://admin:password@localhost:27017”时可以连接,但当我使用“mongoDB://admin:password@localhost:27017/myDB”时不能连接。

我正在使用 docker-compose 运行容器。此外,当我记录运行 mongo 容器的输出时,我看到一条失败消息:

"result":"UserNotFound: Could not find user \"admin\" for db \"journalDB\""}}

JournalDB 是我要连接的数据库的名称,我希望能够像这样从我的 nodejs 应用程序连接到它:

mongoose
.connect("mongoDB://admin:password@localhost:27017/journalDB", {
  useNewUrlParser: true,
  useUnifiedTopology: true,
})

我已经阅读了here 和这个documentation 的类似问题的答案,但我觉得他们只是解释了可能的问题,并没有帮助我解决它。 如果有一个简单的解决方案,我将不胜感激。

【问题讨论】:

    标签: node.js mongodb docker mongoose


    【解决方案1】:

    也许可以试试 .connect("mongoDB://admin:password@localhost:27017/journalDB?authSource=admin" ...

    【讨论】:

    • 哦,这很完美!我想我一直在误解我分享的类似问题以及文档中的答案。他们都提到添加 authSource=admin 但我认为他们的意思是用我认为应该是 journalDB 的身份验证数据库替换 admin。非常感谢您的明确回答!
    猜你喜欢
    • 2014-08-17
    • 2023-01-31
    • 1970-01-01
    • 1970-01-01
    • 2017-09-13
    • 2016-04-17
    • 1970-01-01
    • 2020-10-12
    • 1970-01-01
    相关资源
    最近更新 更多