MongoJS:MongoError:无法使用正确的凭据连接到服务器

时间:2017-11-14 14:03:31

标签: node.js mongodb

我正在使用此插件:https://github.com/mafintosh/mongojs

我以前通过Node.js登录而没有凭据成功:

var db = mongojs("dbname", []);

后来我关闭了Mongo并重启了它,但这次是使用命令:mongod --auth。 我已经有一个用户漫游到管理数据库。

然后我尝试通过Node.js再次登录,但这次使用用户凭据:

var db = mongojs("username:password@mydomain.com:8080/dbname", []);

我也试过不同的语法:

var db = mongojs("username:password@mydomain.com:271017/dbname", []);

我也尝试过:

var db = mongojs("username:password@dbname", []);

正如你所看到的,我已经尝试了很多语法方法,但没有做到这一点。

我必须提一下,我使用的凭据都很好,我刚刚通过Robo3T(Robomongo)和Mongo Compass成功登录了相同的细节。

我还尝试从admin撤消用户并将其专门放在dbname上,但它不起作用。

我的问题:

使用Node.js的凭据登录的正确方法是什么? 请提供基于我在GitHub上面使用和提供的库的解决方案。 (如果你有一个更好,更有效的方式,我会很高兴再听到)。

弹出一个半问题:

我注意到当我要求Mongo要求用户继续使用数据库时,我在终端/ SSH中收到错误:

Error: not authorized on <dbname> to execute command { usersInfo: 1.0 } at src/mongo/shell/db.js:1363

尝试通过我自己的Mac上的终端以及通过远程VPS上的SSH执行相同操作时,会出现上述错误。

我把细节尽可能正确,我希望它足够清楚!

谢谢!

1 个答案:

答案 0 :(得分:0)

发现它!

我刚刚需要这个:

var db = mongojs("mongodb://MYUSERNAME:MYPASSWORD@localhost:27017/DBNAME", []);

只需用凭证替换大写字母。

真的,我已经搜索了3个小时或更长时间。

相关问题