根据Mongoose文档,您可以使用默认端口27017连接到MongoDB.
我的mongod输出结束于:
I NETWORK [initandlisten] waiting for connections on port 27017
Run Code Online (Sandbox Code Playgroud)
但是,当我尝试连接到我的数据库时,如下所示:
const mongoose = require('mongoose');
mongoose.connect('mongodb://localhost/myapp');
Run Code Online (Sandbox Code Playgroud)
我明白了
Unhandled rejection MongoError: port must be specified
Run Code Online (Sandbox Code Playgroud)
这里发生了什么?
我有Mongoose v5.2.0,节点v9.10.0和MongoDB shell版本v4.0.0.
如果我更改我的连接字符串以包含端口,mongodb://localhost:27017/myapp那么我能够连接.但我不确定为什么我需要这个.
小智 7
还应在最新版本的mongoose(5.2.0)中的mongoose.connect()中指定端口:
mongoose.connect("mongodb://localhost:27017/cat_app");
Run Code Online (Sandbox Code Playgroud)
27017是MongoDB运行mongod的默认端口.
另一个解决方案是恢复到mongoose 5.1.7,这不会导致此问题:
npm install mongoose@5.1.7 --save
Run Code Online (Sandbox Code Playgroud)
如果能解决问题,请告诉我.
| 归档时间: |
|
| 查看次数: |
4805 次 |
| 最近记录: |