Необработанное отклонение MongoError: порт должен быть указан

В соответствии с документами Mongoose вы можете подключиться к MongoDB со стандартным портом 27017.

Мой выход mongod заканчивается:

 I NETWORK  [initandlisten] waiting for connections on port 27017

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

const mongoose = require('mongoose');
mongoose.connect('mongodb://localhost/myapp');

я получил

Unhandled rejection MongoError: port must be specified

Что здесь происходит?

У меня есть Mongoose v5.2.0, node v9.10.0 и версия оболочки MongoDB v4.0.0.

Если я изменю строку соединения, чтобы включить порт mongodb://localhost:27017/myapp то я могу подключиться. Но я не уверен, зачем мне это нужно.

Ответ 1

Мангуста, здесь, сожалею о беде. Мы исправим эту проблему в ближайшие пару дней. До тех пор, пожалуйста, укажите порт в вашем URI: mongoose.connect('mongodb://localhost:27017/myapp'); , Мы также обязательно обновим соответствующие документы.

Ответ 2

Порт должен также указываться в mongoose.connect() в последней версии mongoose (5.2.0):

mongoose.connect("mongodb://localhost:27017/cat_app");

27017 - это порт по умолчанию MongoDB, на котором работает mongod.

Другим решением является возврат к mongoose 5.1.7, который не вызовет этой проблемы:

npm install [email protected] --save

Сообщите мне, исправляет ли это это.