我目前正在尝试将我的 nodejs 应用程序连接到同一个 droplet 上的 mongodb。
我目前有auth = true
和 droplet ip 到绑定地址,并允许我的公共 ip 到 ufw 端口连接。
这确实允许我从 mongo 指南针远程访问我的液滴。
我遇到的问题是这样的:
假设这是我的连接字符串: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 时,它确实 connect。
我确实使用以下方法创建了一个管理员帐户:
use admin
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
任何帮助解决这个问题将不胜感激。