使用Mongoose(Node.js)无法连接MongoDB数据库的问题求助
使用Mongoose(Node.js)无法连接MongoDB数据库的问题求助
我最近做Node.js项目时碰到了个头疼的问题:用MongoDB Compass能正常连上我的数据库,但换成Mongoose连接就完全不行,一直报TLS相关的错误。
我收到的错误信息如下:
Mongoose connection error MongoServerSelectionError: Client network socket disconnected before secure TLS connection was established at Topology.selectServer (C:\Users\gerar\Desktop\HtmlPractica-HolaMundo\htmlPractica\APIrest\node_modules\mongodb\lib\sdam\topology.js:320:38) at async Topology._connect (C:\Users\gerar\Desktop\HtmlPractica-HolaMundo\htmlPractica\APIrest\node_modules\mongodb\lib\sdam\topology.js:204:28) at async Topology.connect (C:\Users\gerar\Desktop\HtmlPractica-HolaMundo\htmlPractica\APIrest\node_modules\mongodb\lib\sdam\topology.js:156:13) at async topologyConnect (C:\Users\gerar\Desktop\HtmlPractica-HolaMundo\htmlPractica\APIrest\node_modules\mongodb\lib\mongo_client.js:233:17) at async MongoClient._connect (C:\Users\gerar\Desktop\HtmlPractica-HolaMundo\htmlPractica\APIrest\node_modules\mongodb\lib\mongo_client.js:246:13) at async MongoClient.connect (C:\Users\gerar\Desktop\HtmlPractica-HolaMundo\htmlPractica\APIrest\node_modules\mongodb\lib\mongo_client.js:171:13) at async NativeConnection.createClient (C:\Users\gerar\Desktop\HtmlPractica-HolaMundo\htmlPractica\APIrest\node_modules\mongoose\lib\drivers\node-mongodb-native\con nection.js:320:3
这是我的api.js文件内容:
const express = require("express"); const mongoose = require("mongoose"); const user = require("./user.controller"); const port = 3000; const app = express(); app.use(express.json()); mongoose.connect( "mongodb+srv://geraboy:(password)@holamundocert.wfq1b.mongodb.net/miApp?retryWrites=true&w=majority&appName=HolaMundoCert" ); mongoose.connection.on("connected", () => { console.log("Mongoose connected to MongoDB"); app.listen(port, () => console.log(`Starting server on port ${port}`) ); }); mongoose.connection.on("error", (error) => { console.log("Mongoose connection error", error); }); app.get("/", user.list); app.post("/", user.create); app.get("/:id", user.get); app.put("/:id", user.update); app.patch("/:id", user.update); app.delete("/:id", user.destroy);
还有我的package.json:
{ "name": "apirest", "version": "1.0.0", "description": "", "main": "api.js", "scripts": { "start": "nodemon api.js" }, "keywords": [], "author": "Gerardo Acedo", "license": "ISC", "dependencies": { "express": "^4.21.2", "mongodb": "^6.12.0", "mongoose": "^8.9.5" }, "devDependencies": { "nodemon": "^3.1.9" } }
我已经尝试过这些方法,但都没解决问题:
- 在MongoDB集群后台把IP网络访问设置成
0.0.0.0/0,也试过添加我自己的IP地址 - 已经在防火墙里配置了27017端口的入站和出站权限
- 还尝试把DNS改成了8.8.8.8
有没有大佬能帮我看看问题出在哪?
备注:内容来源于stack exchange,提问作者Gerardo Acedo
相关产品推荐
相关产品推荐

