web-dev-qa-db-fra.com

Erreur de connexion NodeJS avec mongoDB

J'ai un problème pour connecter mon application socketIO (faite avec nodeJS) avec mon mongoDB . J'essaie de me connecter sur un serveur distant, mais l'erreur est réelle.

Voici mon code (il n'y a pas d'utilisateur/mot de passe défini dans la 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();
   });

Et voici quand je lance le serveur et que j'ai essayé de lancer l'application dans un navigateur: Server en écoute sur le port 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

Cette erreur est renvoyée pour plusieurs erreurs comme: 

  • le serveur ne fonctionne pas 
  • vous devez authentifier l'utilisateur 
  • cette base de données n'existe pas 
  • le port mongodb n'est pas le port par défaut

Vérifie ça. Normalement, votre problème n’est qu’une de ces causes.

14
throrin19

Pour que cela fonctionne, vous devez apporter les modifications dans /etc/mongod.conf.

comment bind_ip = 127.0.0.1 Comme si cette ligne n'était pas commentée Écoutez l'interface locale uniquement.

7
rahulgarg

Une des solutions consiste à remplacer 127.0.0.1 par une adresse IP publique ou par tout autre moyen fourni par le routeur dans le fichier de configuration mongodb situé dans/etc

0
Syed Mohammed SMJ

L'erreur ECONNREFUSED peut être due à peu de raisons . 

  • Vérifiez si votre port ne dessert aucun autre processus.
  • Vérifiez si votre mongod est en cours d'exécution.
  • Vérifiez si votre hôte local est configuré correctement avec votre identifiant ou non.

pour plus vous pouvez voir cela

0
Anshul