当我尝试用Mongoose连接我的应用程序和数据库时,我遇到了一个问题。我已经尝试了以下我在谷歌上找到的解决方案:
- 重启Windows上的MongoDB服务
- 手动打开数据库,cmd位于MongoDB的bin文件中
但我解决不了这个问题。有谁能帮帮我吗?
//my connection
const mongoose = require('mongoose');
mongoose.connect('mongodb://localhost/notes-db-app',{
useNewUrlParser: true,
useUnifiedTopology: true
})
.then(db => console.log('DB is connected'))
.catch(err => console.log(err));
抛出的是我,这个错误
MongooseServerSelectionError:CONNECT ECONNREFUSED::1:27017 at NativeConnection.Connection.OpenUri(C:\Users\ivan\Desktop\NodeJS\notes-app\node_modules\mongoose\lib\connection.js:797:32)at C:\Users\ivan\Desktop\NodeJS\notes-app\node_modules\mongoose\lib\index.js:330:10 at C:\Users\ivan\Desktop\NodeJS\notes-app\node_modules\mongoose\lib\helpers\promiseOrCallback.js:32:5()at new Promise()at Promise或Callback(C:\Users\ivan\Desktop\NodeJS\notes-app\node_modules\mongoose\lib\helpers\promiseOrCallback.js:31:10)在Mongoose。_Promise或Callback(C:\Users\ivan\Desktop\NodeJS\notes-app\node_modules\mongoose\lib\index.js:1151:10)在Mongoos.连接(C:\Users\ivan\Desktop\NodeJS\notes-app\node_modules\mongoose\lib\index.js:329:20)在Object。(C:\Users\ivan\Desktop\NodeJS\notes-app\src\db.js:3:10)
在模块._编译(节点:内部/模块/cjs/加载程序:1095:14)在对象模块._扩展..js(节点:内部/模块/cjs/加载程序:1147:10){
原因:拓扑描述{类型:‘未知’,服务器:Map(1){‘本地主机:27017’=>[服务器描述]},陈旧:假,兼容:真,心跳频率:10000,本地阈值:15,逻辑会话超时分钟:未定义}}
我尝试将端口放在我的连接代码上,如下所示
//my connection
const mongoose = require('mongoose');
mongoose.connect('mongodb://localhost:27017/notes-db-app',{
useNewUrlParser: true,
useUnifiedTopology: true
})
.then(db => console.log('DB is connected'))
.catch(err => console.log(err));
它给我抛出了另一个错误
MongooseServerSelectionError:消息大小无效:1347703880,允许的最大值:67108864 at NativeConnection.Connection.OpenUri(C:\Users\ivan\Desktop\NodeJS\notes-app\node_modules\mongoose\lib\connection.js:797:32)at C:\Users\ivan\Desktop\NodeJS\notes-app\node_modules\mongoose\lib\index.js:330:10 at C:\Users\ivan\Desktop\NodeJS\notes-app\node_modules\mongoose\lib\helpers\promiseOrCallback.js:32:5 at new Promise()at Promise或Callback(C:\USERS\IVAN\Desktop\NodeJS\notes-app\node_modules\mongoose\lib\helpers\promiseOrCallback.js:31:10)在Mongoose。_Promise或Callback(C:\Users\ivan\Desktop\NodeJS\notes-app\node_modules\mongoose\lib\index.js:1151:10)在Mongoos.连接(C:\Users\ivan\Desktop\NodeJS\notes-app\node_modules\mongoose\lib\index.js:329:20)在Object。(C:\Users\ivan\Desktop\NodeJS\notes-app\src\db.js:3:10)
在模块._编译(节点:内部/模块/cjs/加载程序:1095:14)在对象模块._扩展..js(节点:内部/模块/cjs/加载程序:1147:10){
原因:拓扑描述{类型:‘未知’,服务器:Map(1){‘本地主机:3,000’=>[服务器描述]},陈旧:假,兼容:真,心跳频率:10000,本地阈值:15,逻辑会话超时分钟:未定义}}
7条答案
按热度按时间vshtjzan1#
z18hc3ub2#
我终于解决了这个问题。
开启MongoDB默认关闭的IPv6。在CMD上使用以下命令行:
然后再次尝试连接,它就能正常工作了!
代表提问者发帖
ejk8hzay3#
如果错误显示:
Connect()错误:MongooseServerSelectionError:CONNECT ECONNREFUSED::1:27017
则在IPv6地址**::1上拒绝连接到本地主机**。Mongoose默认使用IPv6。
为了快速检查,您可以显式设置IPv4地址:
oo7oh9g94#
只需传递第三个参数
family:4
即可。sf6xfgos5#
可能您要连接的服务器的主机名/IP设置不正确。
我习惯于把这个错误看作是:
在您发布的控制台日志中,
<hostname/hostIP>
部分格式错误/缺失。如果您使用MongoDB URI连接到数据库,请确保它如下所示
7y4bm7vi6#
1.打开您的终端并输入命令:
mongod
1.然后使用您的app.js通过编写以下代码建立连接:
1.现在已经完成了。只需打开您的mongo外壳或MongoDB指南针,查找您添加的内容。
9fkzdhlc7#
我也面临着那些命令对我起作用的相同问题(Ubuntu机器)
然后