2016-01-04 10 views
7

に接続するとき、私はMongoLabデータベースへの接続が、接続上で、次のエラーを取得維持しようとしている、コード18を失敗しました:認証がMongoLabデータベース

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

私は接続するために使用しているコードは次のとおりです。

var mongoose = require("mongoose"); 

mongoose.connect("mongodb://username:[email protected]:61474/apitest"); 

mongoose.connection.on('error', function (err) { 
    console.log(err); 
}); 

シェルを使用して接続すると、何の問題もありません。私は間違って何をしていますか?

+1

データベースのユーザー名とパスワードの代わりに、mongolab.comのユーザー名とパスワードを使用しているのを確認できますか? – Idos

+1

また、mongodbの新しいバージョンに接続するために古いシェルバージョンを使用していますか? – Idos

答えて

8

mongoを使用してmongo dbを接続するときに同様の問題が発生しました。私がmongoLabがSCRAM-SHA-1認証を使用していることが分かった後、 私はV4.1.11に私のマングースをアップグレードしようとした下の質問を参照してください、そして、それは

Authentication in mongoose using SCRAM-SHA-1

+0

マングースバージョンをアップグレードしました。ありがとうございました:) このページを参照してくださいhttps://github.com/mongolab/hello-mongoose/commit/d873461a5cae8c914b4385f6259b2d7a83e164e3 – rtvalluri

1

はこのエラーを自分で持っていた私の作品、私は二つのこと誤っ(感謝IDOSを)やっ判明:

  1. データベースの代わりにmongolab.comのユーザー名を使用しました。
  2. Ubuntuのリポジトリを通じて提供される2.6シェルを使用してmongo 3.4データベースに接続しようとしました。確認するにはmongo --version

this MongoDB pageの指示に従って、APTソースにキーとリポジトリを追加してアップグレードし、MongoDBのインストールを今後更新してください。

関連する問題