连接到MongoLab数据库时,Auth失败,代码为18

我试图连接到一个MongoLab数据库,但不断得到连接上的以下错误:

{ [MongoError: auth failed] name: 'MongoError', ok: 0, errmsg: 'auth failed', code: 18 } 

我用来连接的代码是:

 var mongoose = require("mongoose"); mongoose.connect("mongodb://username:password@ds061474.mongolab.com:61474/apitest"); mongoose.connection.on('error', function (err) { console.log(err); }); 

当我使用shell连接时,我没有任何问题。 我究竟做错了什么?

       

网上收集的解决方案 "连接到MongoLab数据库时,Auth失败,代码为18"

用mongoose连接mongo db时遇到了类似的问题。 经过一番探索,我发现mongoLab正在使用SCRAM-SHA-1authentication。 请参考下面的问题我试图将我的mongoose升级到V4.1.11,然后它适用于我

使用SCRAM-SHA-1进行mongoose身份validation

自己有这个错误,事实certificate我做了两件事情不正确(谢谢Idos):

  1. 使用了mongolab.com用户名而不是数据库。
  2. 尝试使用通过Ubuntu存储库提供的2.6 shell连接到mongo 3.4数据库。 mongo --version检查。

按照这个MongoDB页面的指示将它们的密钥和存储库添加到你的APT源文件中,以便升级并保持你的MongoDB安装向前更新。