web-dev-qa-db-fra.com

MongoNetworkError: impossible de se connecter au serveur [localhost: 27017] lors de la première connexion [MongoNetworkError: connect ECONNREFUSED 127.0.0.1:27017]

Je suis nouveau dans nodeJS, j'ai commencé à apprendre en suivant une bande-annonce sur youtube, tout se passe bien jusqu'à ce que j'ajoute la fonction connect si mongodb,

mongo.connect("mongodb://localhost:27017/mydb")

quand j'exécute mon code sur cmd (node ​​start-app), j'obtiens l'erreur suivante, 

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

Quelqu'un pourrait-il m'expliquer quelle étape j'ai ratée? mon code: 

var express = require("express");
var MongoClient = require('mongodb');
var url = "mongodb://localhost:27017/mydb";
var webService = require("./webService");
var server = express();

MongoClient.connect(url, function (err, db) {
    if (err) throw err;
    console.log("Database created!");
    db.close();
});

server.use(express.urlencoded({ extended: true }));

server.set('views', __dirname);

server.get('/', function (request, response) {
    response.sendFile(__dirname + '/MainPage.html');
});

server.get('/Sign', function (request, response) {
    response.render(__dirname + '/Sign.ejs');
});

server.post("/signUp", webService.signUp);

server.post("/createUser", webService.createUser);

server.listen(5500);
10
Karam Haj

Vous devez d'abord installer le serveur de base de données MongoDB sur votre système et le démarrer.

Utilisez le lien ci-dessous pour installer MongoDB

https://docs.mongodb.com/manual/installation/

10
Vishnu

Après avoir essayé CHAQUE solution que Google ait trouvée avec le dépassement de capacité de la pile, j'ai découvert quel était mon problème particulier. J'avais édité mon fichier hosts il y a longtemps pour me permettre d'accéder à mon hôte local à partir de ma virtualbox.

Supprimer cette entrée a résolu le problème pour moi, ainsi que l’installation correcte de mongoDB à partir du lien indiqué dans la solution ci-dessus, et l’inclusion du code de traitement de promesse correct:

mongoose.connect('mongodb://localhost/testdb').then(() => {
console.log("Connected to Database");
}).catch((err) => {
    console.log("Not Connected to Database ERROR! ", err);
});
4
Cory M

Cela m’était arrivé et j’ai découvert que c’était à cause d’une mauvaise connexion Internet. Si j'utilise le réseau wifi public chez moi, qui bloque divers sites Web pour des raisons de sécurité, Mongo refuse de se connecter. Mais si je devais utiliser mes propres données mobiles, je pourrais me connecter à la base de données.

1
Pritt Balagopal

il suffit d’exécuter mongod dans le terminal sur le dossier de base si tout a été configuré, comme l’installation de mongo db et le client correspondant, comme mangouste. Après avoir exécuté la commande, exécutez le fichier de projet sur lequel vous travaillez. L’erreur ne devrait alors pas apparaître.

1
Udit Jain

Vous pouvez vérifier le détail de l'erreur en exécutant cette commande

Sudo service mongod status

si l'erreur est quelque chose comme ça

  • Impossible de dissocier le fichier de socket /tmp/mongodb-27017.sock Erreur inconnue
  • Fatal Assertion 40486 sur src/mongo/transport/transport_layer_asio.cpp 670

il suffit de lancer cela pour résoudre votre problème

rm /tmp/mongodb-27017.sock

0
Aleem

commencez par créer le dossier à l’aide de la ligne de commande mkdir C:\data\db (pour la base de données) puis lancez la commande mongod --port 27018 avec une commande Invite (mode d’administration) - vous pouvez indiquer le numéro de port que vous souhaitez

0
Mrutyunjaya Kar

1) Si vous n’avez pas installé Mongodb, installez-le.

2) ouvrez un nouveau terminal, tapez "mongo". Cela va vous connecter à une instance MongoDB s'exécutant sur votre hôte local avec le port par défaut 27017:

0
obayral