首页 > 解决方案 > MongoNetworkError:第一次连接时无法连接到服务器 [localhost:27017] [MongoNetworkError: connect ECONNREFUSED 127.0.0.1:27017]

问题描述

我是nodeJS的新手,开始学习youtube上的预告片,一切都很顺利,直到我添加了mongodb的connect函数,

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

当我在 cmd (node start-app) 上运行我的代码时,出现以下错误,

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

有人可以解释一下我错过了哪一步吗?我的代码:

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);

标签: node.jsmongodbexpress

解决方案


他们中的许多人没有添加这个,特别是在 AWS EC2 实例中,我遇到了同样的问题并尝试了不同的解决方案。解决方案:我在代码中的一个数据库 URL 缺少这个参数“authSource”,添加这个对我有用。

mongodb://myUserName:MyPassword@ElasticIP:27017/databaseName?authSource=admin

推荐阅读