MongoDB отказывается от подключения на машине с Windows 10 - PullRequest
0 голосов
/ 03 октября 2018

Я запускаю приложение Node.js на моей машине с Windows 10.У меня установлен и настроен Mongoose:

// Init Database
var mongoose = require("mongoose");
var mongoDB = "mongodb://127.0.0.1/sampledata"
mongoose.connect(mongoDB);
var db = mongoose.connection;
// Check DB connection
db.once("open", function(){
    console.log("Connected to MongoDB");
});
// Check for DB errors
db.on("error", function(err){
    console.log(err);
});

Теперь, когда я запускаю сервер с nodemon, в консоли появляется следующая ошибка:

{ MongoNetworkError: failed to connect to server [127.0.0.1:27017] on first connect [MongoNetworkError: connect ECONNREFUSED 127.0.0.1:27017]
  at Pool.<anonymous> (C:\Users\...\node_modules\mongodb-core\lib\topologies\server.js:564:11)
  at emitOne (events.js:96:13)
  at Pool.emit (events.js:188:7)
  at Connection.<anonymous> (C:\Users\...\node_modules\mongodb-core\lib\connection\pool.js:317:12)
  at Connection.g (events.js:291:16)
  at emitTwo (events.js:106:13)
  at Connection.emit (events.js:191:7)
  at Socket.<anonymous> (C:\...\node_modules\mongodb-core\lib\connection\connection.js:246:50)
  at Socket.g (events.js:291:16)
  at emitOne (events.js:96:13)
  at Socket.emit (events.js:188:7)
  at emitErrorNT (net.js:1278:8)
  at _combinedTickCallback (internal/process/next_tick.js:74:11)
  at process._tickCallback (internal/process/next_tick.js:98:9)
  name: 'MongoNetworkError',
  errorLabels: [ 'TransientTransactionError' ]
}

Когда я пытаюсьчтобы запустить монго через консоль, я получаю следующую ошибку:

C:\Program Files\MongoDB\Server\4.0\bin>mongo
MongoDB shell version v4.0.2
connecting to: mongodb://127.0.0.1:27017
2018-10-03T19:05:24.194+0200 E QUERY    [js] Error: couldn't connect to server 127.0.0.1:27017, connection attempt failed: SocketException: Error connecting to 127.0.0.1:27017 :: caused by :: Es konnte keine Verbindung hergestellt werden, da der Zielcomputer die Verbindung verweigerte (in english: A connection couldn't be established, because the target computer has refused the connection). :
connect@src/mongo/shell/mongo.js:257:13
@(connect):1:6
exception: connect failed

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

Ответы [ 2 ]

0 голосов
/ 10 октября 2018

Я тоже получал эту ошибку.В моем случае я пытался перейти на MongoDB 4.0 без предварительного обновления до 3.6.
Пожалуйста, смотрите https://docs.mongodb.com/manual/release-notes/4.0/#upgrade-procedures, если вы недавно обновили MongoDB.

0 голосов
/ 04 октября 2018

TL; DR

Запустить сервер mongod

mongod

Открыть другое окно терминала

Запустить оболочку mongo

mongo

Более длинная версия:

Откройте командную строку от имени администратора и запустите netstat -anb, проверьте, какой порт прослушивает mongodb (обычно 27017).Если вы не видите листинга для mongo, то это означает, что mongod не работает, поэтому запустите mongod.exe из двоичных файлов mongodb (или, если установлены переменные окружения, запустите mongod из любого места в вашем cmd).

Если это не работает, ваш брандмауэр, вероятно, блокирует доступ к этому порту, поэтому проверьте это

...