【发布时间】:2021-12-18 18:09:38
【问题描述】:
当我尝试使用 Mongoose 将我的应用程序与我的数据库连接时遇到问题。已经尝试了我在 google 上找到的以下解决方案:
- 在 windows 上重启 MongoDB 服务
- 使用位于 mongodb 的 bin 文件中的 cmd 手动打开 db
但我无法解决它。谁能帮帮我?
//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: 连接 ECONNREFUSED ::1:27017 在 NativeConnection.Connection.openUri (C:\Users\ivan\Desktop\NodeJS\notes-app\node_modules\mongoose\lib\connection.js:797:32) 在 C:\Users\ivan\Desktop\NodeJS\notes-app\node_modules\mongoose\lib\index.js:330:10 在 C:\Users\ivan\Desktop\NodeJS\notes-app\node_modules\mongoose\lib \helpers\promiseOrCallback.js:32:5 在新的承诺 () 在 promiseOrCallback (C:\Users\ivan\Desktop\NodeJS\notes-app\node_modules\mongoose\lib\helpers\promiseOrCallback.js:31:10) 在 Mongoose._promiseOrCallback (C:\Users\ivan\Desktop\NodeJS\notes-app\node_modules\mongoose\lib\index.js:1151:10) 在 Mongoose.connect (C:\Users\ivan\Desktop\NodeJS\notes-app\node_modules\mongoose\lib\index.js:329:20) 在对象。 (C:\Users\ivan\Desktop\NodeJS\notes-app\src\db.js:3:10)
在 Module._compile (node:internal/modules/cjs/loader:1095:14) 在 Object.Module._extensions..js (node:internal/modules/cjs/loader:1147:10) {
原因:拓扑描述 { 类型:'未知', 服务器:Map(1) { 'localhost:27017' => [ServerDescription] }, 陈旧:虚假, 兼容:真实, heartbeatFrequencyMS: 10000, 本地阈值MS: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 在 NativeConnection.Connection.openUri (C:\Users\ivan\Desktop\NodeJS\notes-app\node_modules\mongoose\lib\connection.js:797:32) 在 C:\Users\ivan\Desktop\NodeJS\notes-app\node_modules\mongoose\lib\index.js:330:10 在 C:\Users\ivan\Desktop\NodeJS\notes-app\node_modules\mongoose\lib \helpers\promiseOrCallback.js:32:5 在新的承诺 () 在 promiseOrCallback (C:\Users\ivan\Desktop\NodeJS\notes-app\node_modules\mongoose\lib\helpers\promiseOrCallback.js:31:10) 在 Mongoose._promiseOrCallback (C:\Users\ivan\Desktop\NodeJS\notes-app\node_modules\mongoose\lib\index.js:1151:10) 在 Mongoose.connect (C:\Users\ivan\Desktop\NodeJS\notes-app\node_modules\mongoose\lib\index.js:329:20) 在对象。 (C:\Users\ivan\Desktop\NodeJS\notes-app\src\db.js:3:10)
在 Module._compile (node:internal/modules/cjs/loader:1095:14) 在 Object.Module._extensions..js (node:internal/modules/cjs/loader:1147:10) {
原因:拓扑描述 { 类型:'未知', 服务器:Map(1) { 'localhost:3000' => [ServerDescription] }, 陈旧:虚假, 兼容:真实, heartbeatFrequencyMS: 10000, 本地阈值MS:15, 逻辑会话超时分钟:未定义 } }
【问题讨论】:
-
确保 Mongodb 正在运行,打开任务调度程序查找 mongo,如果您是从 linux 子系统执行的,那么:
ps -ax | grep mongo -
OP 已经这样做并且正在使用 windows
-
请将解决方案发布为答案。不要编辑问题
标签: javascript node.js mongodb mongoose