根据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
,则可以连接。但是我不确定为什么需要这个。
答案 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
让我知道是否可以解决此问题。