MongoNetworkError: impossible de se connecter au serveur [localhost:27017] sur la première connexion [MongoNetworkError: connectez ECONNREFUSED 127.0.0.1:27017]
Je suis nouveau dans nodeJS, a commencé l'apprentissage par suite d'un trailer sur youtube, tout va bien jusqu'à ce que j'ai ajouté la fonction de connexion, si mongodb,
mongo.connect("mongodb://localhost:27017/mydb")
lorsque j'exécute mon code sur cmd (noeud de départ-app), l'erreur suivante s'affiche,
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é ?
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);
- Vous pourriez avoir installé MongoDB, mais c'est certainement pas en cours d'exécution. Vous devriez vraiment vérifier ces instructions d'installation et vous assurer que vous pouvez vous connecter depuis le shell mongo avant de faire quelque chose d'autre. Et juste pour être clair, nous sommes sur la même page
npm install mongodb
n'est pas ce dont nous parlons ici. Nous parlons en fait "de l'installation du serveur" pour votre plate-forme.
Vous devez vous connecter pour publier un commentaire.
Vous devez installer
MongoDB
serveur de base de données tout d'abord dans votre système et de le démarrer.Utiliser le lien ci-dessous pour installer
MongoDB
https://docs.mongodb.com/manual/installation/
Après avoir essayé TOUTES les solutions google est venue sur un débordement de pile, j'ai trouvé ce que mon problème a été. J'avais édité mon fichier hosts il y a longtemps pour me permettre d'accéder à mon localhost de mon virtualbox.
Suppression de cette entrée résolu pour moi, avec la bonne installation de mongoDB à partir du lien donné dans la solution ci-dessus, et dont la bonne promesse de la manipulation de code:
Beaucoup d'entre eux ne pas ajouter de la ce, en particulier dans AWS EC2 Exemple, j'ai eu le même problème et essayé différentes solutions.
Solution: une de mes base de données d'URL dans le code manquait ce paramètre 'authSource", ajoutant que cela a fonctionné pour moi.
?authSource=admin
est ce qu'il a fait pour moi!!!!!J'ai fait face à la même question, mais après beaucoup de RND. J'ai trouvé que whts le problème, afin de lancer cette commande dans votre terminal.
sudo service mongod commencer
En suivant la logique derrière @CoryM la réponse ci-dessus :
J'avais édité mon fichier hosts trop pour Python Apprentissage de la Machine de l'installation il y a 2 mois. Ainsi, au lieu de l'enlever parce que j'ai encore besoin d'elle, je l'utilise
127.0.0.1
en place delocalhost
et il a travaillé :Cela s'est passé pour moi et j'ai trouvé que c'était à cause de la mauvaise connexion internet. Si j'utilise le wifi public à mon endroit, qui bloque les 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 peux me connecter à la base de données.
il suffit d'exécuter mongod dans le terminal sur la base du dossier de si tout a été mis en place comme l'installation de mongo db et le client comme s'il s'agissait de la mangouste. Après l'exécution de la commande exécuter le fichier de projet que vous travaillez et puis l'erreur ne devrait pas apparaître.
Vous pouvez vérifier les détails de l'erreur en exécutant cette commande
sudo service mongod status
si l'erreur est quelque chose comme cela
tout simplement en train de résoudre votre problème
rm /tmp/mongodb-27017.sock
d'abord créer un dossier par ligne de commande mkdir C:\data\db (C'est pour la base de données)
puis de lancer la commande mongod --port 27018 par une invite de commande(mode d'administration)- vous pouvez donner le nom de numéro de port que votre souhait
1) Si vous n'avez pas installé mongodb, l'installer.
2) ouvrez un nouveau terminal, tapez "mongo". Ce qui se passe pour vous connecter à un MongoDB instance en cours d'exécution sur votre localhost par défaut le port 27017:
J'ai eu ce problème tout en travaillant à l'échelle locale Starbucks et je me suis souvenu que quand j'ai d'abord configurer ma base de données par le biais de Mongo Atlas. J'ai mis mon adresse IP pour pouvoir accéder à la base de données. Après en regardant à travers plusieurs threads, j'ai changé mon adresse IP sur l'Atlas et le problème a disparu. Espérons que cela aide quelqu'un.
Mon cas est un peu différent. Après le redémarrage de mon système, je n'avais pas dans la liste blanche de mon adresse IP sur Mongo tout en faisant du développement local.
Mieux de tout simplement se connecter à localhost Mangouste Base de données et créer vos propres collections. N'oubliez pas de mentionner le numéro de port. (Par défaut: 27017)
Pour la meilleure vue, télécharger Mangouste-boussole pour MongoDB de l'INTERFACE utilisateur.
vous avez besoin d'installer ou de Réinstaller MongoDB service localement, à partir d'ici: https://www.mongodb.com/download-center/community?jmp=docs
ou vous pouvez utiliser la mangouste sur le cloud à partir d'ici: https://www.mongodb.com/cloud/atlas
ces 2 solutions résolu le problème pour moi.