MongoError: connect ECONNREFUSED 127.0.0.1:27017 質問する

MongoError: connect ECONNREFUSED 127.0.0.1:27017 質問する

私は mongodb パッケージを使用して NodeJS を MongoDB で使用しています。mongod コマンドを実行すると正常に動作し、「ポート 27017 で接続を待機しています」というメッセージが表示されます。つまり、mongod は動作しているようです。しかし、MongoClient は動作せず、node index.js コマンドを実行するとエラーが発生します。

MongoError: failed to connect to server [localhost:27017] on first connect [MongoError: connect ECONNREFUSED 127.0.0.1:27017]

ここに画像の説明を入力してください

mongo db 3.4をインストールしました。コードは次のとおりです。

var MongoClient = require('mongodb').MongoClient;
var dburl       =   "mongodb://localhost:27017/test";
MongoClient.connect(dburl, function(err, db) {
  if (err) {
    throw err;
  }
  console.log('db connected');
  db.close();
});

ルートにデータ/dbディレクトリを作成し、書き込み権限を与えました。mongod.confファイルはdbパスを次のように取ります。

ストレージ: dbPath: /var/lib/mongo

しかし、実際にはdbパスはvar/lib/mongoではなくdata/dbになっているようです。

以前は動作していましたが、突然停止しました。

ベストアンサー1

Node.js 14 から 17 にアップグレードした後、アプリが動作しなくなりました。

私が受け取ったエラーは次のとおりです:

MongoServerSelectionError: connect ECONNREFUSED ::1:27017

解決策は、単にlocalhostを に置き換えることでした0.0.0.0。つまり、ソース コードでは次のように変更する必要がありました。

const uri = "mongodb://localhost:27017/";
const client = new MongoClient(uri);

に:

const uri = "mongodb://0.0.0.0:27017/";
const client = new MongoClient(uri);

おすすめ記事