【问题标题】:Mongo Connection StringMongo 连接字符串
【发布时间】:2021-10-17 15:30:10
【问题描述】:

我目前正在尝试将我的 nodejs 应用程序连接到同一个 droplet 上的 mongodb。

我目前有 auth = true 和 droplet ip 到绑定地址,并允许我的公共 ip 到 ufw 端口连接。

这确实让我可以从 mongo compass 远程访问我的 droplet。

我遇到的问题是这样的:

假设这是我的连接字符串:mongodb://user:pass@droplet-ip:27017/DB-NAME

该连接字符串在远程上工作正常。

当我将连接字符串添加到我的 nodejs 应用程序时,如下所示:mongodb://user:pass@127.0.0.1:27017/DB-NAME 它没有连接。

但是当我做mongodb://user:pass@127.0.0.1:27017/ 没有指定 DB-NAME 时它会连接

我确实使用以下方法创建了一个管理员帐户:

  1. use admin
  2. db.createUser({user: "user", pwd: "password", roles: ["root"]});

如果我 use admin 并执行 db.getUsers(); 我得到:

 users: 
   [ { _id: 'admin.user',
       user: 'user',
       db: 'admin',
       roles: 
        [ { role: 'userAdminAnyDatabase', db: 'admin' },
          { role: 'readWriteAnyDatabase', db: 'admin' } ] } ],
  ok: 1

任何帮助解决这个问题将不胜感激。

【问题讨论】:

    标签: digital-ocean ubuntu-server droplet


    【解决方案1】:

    好吧,它只需要多一点测试。最后是我应该在连接字符串的末尾包含?authSource=admin

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-05-24
      • 1970-01-01
      • 2014-03-31
      • 2010-10-17
      相关资源
      最近更新 更多