web-dev-qa-db-ja.com

mongoDBでのNodeJS接続エラー

私のsocketIOアプリケーション(nodeJSで作成したもの)をmongoDBに接続するのに問題があります。リモートサーバーに接続しようとすると、エラーがスローされる

これが私のコードです(mongoDBにはユーザー/パスワードが設定されていません):

   var url = "mongodb://192.168.1.5:27017/DB"

   MongoClient.connect(url, function(err, db) {
           console.log("test")
           if (!err) {
                   console.log("test");
           }
           else {
                   console.dir(err)
           throw err
           }
   //  db.close();
   });

そして、私がサーバーを起動し、ナビゲーターでアプリを起動しようとしたときは、次のようになります。サーバーはポート80でリッスンします。

{ [MongoError: connect ECONNREFUSED] name: 'MongoError', message: 'connect ECONNREFUSED' }
/root/fys-realtime/examples/chat/node_modules/mongodb/lib/server.js:228
        process.nextTick(function() { throw err; })
                                            ^
Error
    at Error.MongoError (/root/fys-realtime/examples/chat/node_modules/mongodb/node_modules/mongodb-core/lib/error.js:13:17)
    at Server.destroy (/root/fys-realtime/examples/chat/node_modules/mongodb/node_modules/mongodb-core/lib/topologies/server.js:629:47)
    at Server.close (/root/fys-realtime/examples/chat/node_modules/mongodb/lib/server.js:344:17)
    at Db.close (/root/fys-realtime/examples/chat/node_modules/mongodb/lib/db.js:267:19)
    at /root/fys-realtime/examples/chat/node_modules/mongodb/lib/db.js:196:12
    at null.<anonymous> (/root/fys-realtime/examples/chat/node_modules/mongodb/lib/server.js:226:9)
    at g (events.js:180:16)
    at emit (events.js:98:17)
    at null.<anonymous> (/root/fys-realtime/examples/chat/node_modules/mongodb/node_modules/mongodb-core/lib/topologies/server.js:238:68)
    at g (events.js:180:16)
12
Jeflow

このエラーは、次のようないくつかのエラーに対して返されます。

  • サーバーが実行されていません
  • ユーザーを認証する必要があります
  • このデータベースは存在しません
  • mongodbポートはデフォルトのポートではありません

これをチェックして。通常、問題はこれらの原因の1つにすぎません

14
throrin19

これを機能させるには、/ etc/mongod.confに変更を加える必要があります

コメントbind_ip = 127.0.0.1この行はコメントされていないかのように、ローカルインターフェースのみをリッスンします。

7
rahulgarg

解決策の1つは、127.0.0.1をパブリックIPまたは/ etcにあるmongodb構成ファイルで提供されているルーターに変更することです

0
smj

ECONNREFUSEDエラーの理由はいくつかあります。チェックポイント

  • ポートが他のプロセスにサービスを提供していないかどうかを確認してください。
  • Mongodが実行されているかどうかを確認します。
  • LocalHostがIDで正しく構成されているかどうかを確認してください。

もっと見ることができます これ

0
Anshul