MongoNetworkError: не удалось подключиться к серверу [localhost: 27017] при первом подключении [MongoNetworkError: connect ECONNREFUSED 127.0.0.1:27017] - PullRequest
0 голосов
/ 04 мая 2018

Я новичок в nodeJS, начал учиться, следуя трейлеру на YouTube, все идет хорошо, пока я не добавил функцию подключения, если mongodb,

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

Ответы [ 12 ]

0 голосов
/ 11 августа 2019

Мой случай был немного другим. После перезапуска системы я не занес белый список своего IP-адреса в Mongo во время локальной разработки.

Select Network Acess > Add IP Address > Add your current IP Address
0 голосов
/ 26 июня 2019

Многие из них не добавляют это, особенно в AWS EC2 Instance, у меня была та же проблема и пробовал разные решения. Решение: в одном из URL моей базы данных внутри кода отсутствовал этот параметр 'authSource', добавление этого сработало для меня.

mongodb://myUserName:MyPassword@ElasticIP:27017/databaseName?authSource=admin
0 голосов
/ 04 августа 2019

У меня была эта проблема во время работы в местном Starbucks, и я вспомнил об этом, когда я изначально настраивал свою базу данных через Mongo Atlas. Я установил свой IP-адрес, чтобы иметь возможность доступа к базе данных. Просмотрев несколько тем, я изменил свой IP-адрес в Atlas, и проблема исчезла. Надеюсь, это кому-нибудь поможет.

0 голосов
/ 18 марта 2019

Я столкнулся с той же проблемой, но после большого количества RND. Я обнаружил, что проблема в этом, поэтому запустите эту команду на своем терминале.

sudo service mongod start

0 голосов
/ 06 мая 2019

Следуя логике ответа @CoryM выше:

Попробовав КАЖДОЕ решение, Google нашел переполнение стека, я обнаружил, в чем заключалась моя проблема. Я давно отредактировал свой хост-файл, чтобы я мог получить доступ к своему локальному хосту из моей виртуальной коробки.

Удаление этой записи решило это для меня ...

2 месяца назад я тоже редактировал файл хостов для установки Python Machine Learning. Поэтому вместо того, чтобы удалить его, потому что он мне все еще нужен, я использую 127.0.0.1 вместо localhost, и это сработало:

mongoose.connect('mongodb://127.0.0.1/testdb')
0 голосов
/ 03 декабря 2018

Вы можете проверить детали ошибки, выполнив эту команду

sudo service mongod status

если ошибка что-то вроде этого

  • Не удалось отсоединить файл сокета /tmp/mongodb-27017.sock Неизвестная ошибка
  • Фатальное утверждение 40486 в src / mongo / transport / transport_layer_asio.cpp 670

просто запустите это, чтобы решить вашу проблему

rm /tmp/mongodb-27017.sock

0 голосов
/ 09 января 2019

1) Если вы не установили mongodb, установите его.

2) откройте новый терминал, наберите «монго». Это соединит вас с экземпляром MongoDB, работающим на вашем локальном хосте с портом по умолчанию 27017:

0 голосов
/ 08 ноября 2018

сначала создайте папку с помощью командной строки mkdir C: \ data \ db (это для базы данных) затем запустите команду mongod --port 27018 из одной командной строки (режим администрирования) - вы можете указать имя порта по вашему желанию

0 голосов
/ 06 ноября 2018

просто запустите mongod в терминале в базовой папке, если все настроено, например, установка mongo db и клиента для него, как mongoose. После выполнения команды запустите файл проекта, над которым вы работаете, и тогда ошибка не должна появиться.

0 голосов
/ 29 августа 2018

Это произошло со мной, и я обнаружил, что это было из-за неисправного подключения к Интернету. Если я пользуюсь общедоступным Wi-Fi, который блокирует различные веб-сайты по соображениям безопасности, Монго отказывается подключаться. Но если бы я использовал свои собственные мобильные данные, я мог бы подключиться к базе данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...