2016-02-19 55 views
1

我尝试部署我的应用Node.js + MongoDB。无法连接到MongoLab例外:登录失败

  1. 我在Heroku上部署了我的应用程序。 Added add-ons Mongolab to app

  2. 打开我的数据库并创建新的用户名:dima;密码:***(添加数据库用户)。

  3. 然后我尝试连接到数据库:

    我的控制台:

    蒙戈ds039135.mongolab.com:39135/heroku_xkbthxdx -u迪马-p ***

    MongoDB的外壳版本:2.4.9

    连接到:ds039135.mongolab.com:39135/heroku_xkbthxdx

    周五19年2月19日:26:50.181错误:18 {OK:0.0,errms G: “验证失败”,代码:18}在SRC /蒙戈/壳/ db.js:228

    例外:登录失败

什么在这个失踪了?谢谢!

回答

1

您的mongo shell版本是2.4.9。目前所有MongoLab Sandbox数据库都是版本3.

将您的mongo shell升级到3.x.y - 最好与客户端和服务器之间的主要版本匹配,MongoDB可以对主要版本差异敏感。例如:在3.0.x服务器上使用3.0.x外壳,在2.6.x服务器上使用2.6.x外壳等。

编辑 - 添加“为什么”:从3.0开始,默认的认证机制是SCRAM-SHA- 1,其中2.4 mongo外壳不支持,因此认证失败。

1

然后,如果你与你的用户名/密码的任何问题,你可以用你的数据库的用户名和密码:

heroku config | grep MONGODB_URI

的反应是形式:

MONGOLAB_URI: mongodb://username:[email protected]:12345/db

相关问题