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);
});
シェルを使って接続すると、何の問題もありません。私は何が間違っているのですか?
自分でこのエラーが発生した場合、2つのことを間違って行ったことがわかりました(Idosに感謝)。
mongo --version
チェックする。このMongoDBページ の指示に従って、キーとリポジトリをAPTソースに追加して、MongoDBインストールをアップグレードし、今後も更新してください。
ロケールからサーバーにデータをインポートしようとしたときに、同じ問題が発生しました。
これらの2つのパラメーターは重要である可能性があり、それらを配置した後に機能しました。
--authenticationMechanism 'MONGODB-CR'
--authenticationDatabase "admin"
認証メカニズムに注意してください。別のメカニズムである可能性があります。ドキュメントのこの部分を確認してください: https://docs.mongodb.com/manual/reference/program/mongoimport/#cmdoption-mongoimport-authenticationmechanism