【发布时间】: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 时它会连接。
我确实使用以下方法创建了一个管理员帐户:
use admindb.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