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);
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
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);
});
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.
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.
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
il suffit de lancer cela pour résoudre votre problème
rm /tmp/mongodb-27017.sock
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
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: