未处理的拒绝MongoError:必须指定端口

时间:2018-07-03 13:50:52

标签: node.js mongoose

根据the Mongoose docs,您可以使用默认端口27017连接到MongoDB。

我的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,节点v9.10.0和MongoDB Shell版本v4.0.0。

如果我更改连接字符串以包括端口mongodb://localhost:27017/myapp,则可以连接。但是我不确定为什么需要这个。

2 个答案:

答案 0 :(得分:28)

这里的猫鼬维护者,对此感到抱歉。我们将在接下来的几天内修复this issue。在此之前,请在您的URI中指定端口:mongoose.connect('mongodb://localhost:27017/myapp');。我们还将确保更新relevant docs

答案 1 :(得分:5)

还应在最新版本的猫鼬(5.2.0)中的mongoose.connect()中指定端口:

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

27017是Mongod在其上运行的MongoDB的默认端口。

另一种解决方案是还原到猫鼬5.1.7,不会导致此问题:

npm install mongoose@5.1.7 --save

让我知道是否可以解决此问题。

相关问题