node.js - 猫鼬无法连接到数据库
问题描述
您好,在我的 nodejs 应用程序中,我正在使用 mongo db 并尝试使用 mongoose 连接到数据库。它正在工作,即使我从未接触过连接部分,它也会突然停止。
这是用于连接的代码
if (!process.env.MONGODB) {
throw Error("Mongodb url is not defined.");
}
mongoose.set("useCreateIndex", true);
mongoose.Promise = bluebird;
mongoose.set("debug", false);
await mongoose.createConnection(process.env.MONGODB, {
useNewUrlParser: true,
useUnifiedTopology: true,
useFindAndModify: false,
});
// db = mongoose.connection;
// db.on("connect", () => console.log("database connected"));
// db.on("error", () => console.log("error happened!"));
return "Succesfully Connected to the Mongodb Database at URL: "+process.env.MONGODB;
} catch (e) {
e.type = "initMongoDb";
throw e;
}//*/
这是我得到的堆栈
C:\<my path>\node_modules\mongodb\lib\mongo_client.js:421
throw err
^
Error [MongoError]: failed to connect to server [<my server>:27017] on first connect [Error: read ECONNRESET
at TLSWrap.onStreamRead (internal/stream_base_commons.js:200:27) {
name: 'MongoError',
message: 'read ECONNRESET'
}]
at Pool.<anonymous> (C:\<my path>\node_modules\mongodb-core\lib\topologies\server.js:336:35)
at Pool.emit (events.js:223:5)
at Pool.EventEmitter.emit (domain.js:475:20)
at Connection.<anonymous> (C:<my path>\node_modules\mongodb-core\lib\connection\pool.js:280:12)
at Object.onceWrapper (events.js:313:26)
at Connection.emit (events.js:223:5)
at Connection.EventEmitter.emit (domain.js:475:20)
at TLSSocket.<anonymous> (C:\<my path>\node_modules\mongodb-core\lib\connection\connection.js:189:49)
at Object.onceWrapper (events.js:313:26)
at TLSSocket.emit (events.js:223:5)
at TLSSocket.EventEmitter.emit (domain.js:475:20)
at emitErrorNT (internal/streams/destroy.js:92:8)
at emitErrorAndCloseNT (internal/streams/destroy.js:60:3)
at processTicksAndRejections (internal/process/task_queues.js:81:21) {
name: 'MongoError',
message: 'failed to connect to server [<my server>:27017] on first connect [Error: read ECONNRESET\n' +
' at TLSWrap.onStreamRead (internal/stream_base_commons.js:200:27) {\n' +
" name: 'MongoError',\n" +
" message: 'read ECONNRESET'\n" +
'}]'
}
我的 IP 已列入白名单且连接字符串正确 我该怎么办?
解决方案
推荐阅读
- python - 尝试使用 YouTube_DL 流式传输 YouTube 链接时出现错误“'NoneType' 对象没有属性 'play'”
- c# - 在 C# 中使用已知对象名称反序列化 JSON
- python - 使用 ShadowRoot 在打印预览应用程序中单击取消按钮
- api - 将 API 函数与现有数据帧相关联的循环中的错误
- flutter - Flutter Desktop 的悬停支持?
- azure - Azure 门户活动目录写入访问问题
- django - 找不到单元 rabitmq-server.service
- .htaccess - 修改 htaccess 以删除 url 中的 html 扩展时出现错误 505
- python - 使用 python3.9 创建 venv 会导致错误
- docker - Docker,设置为 env var 文件内容