使用Mongoose连接MongoDB Atlas遭遇queryTxt ETIMEOUT超时错误的问题求助
Mongoose连接MongoDB Atlas遭遇queryTxt ETIMEOUT超时错误的问题求助
大家好,我最近在尝试用Mongoose把Node.js项目连接到MongoDB Atlas时,一直卡在超时错误上,终端抛出的错误信息如下:
MongoServerSelectionError: queryTxt ETIMEOUT cluster0.mongodb.net { reason: TopologyDescription { code: 'ETIMEOUT' }
我的连接代码是这样的:
const mongoose = require("mongoose"); mongoose.set("strictQuery", true); mongoose.connect("mongodb+srv://kevinlangat419:langatkevinK@clustertaskmanager.j2jbpyx.mongodb.net/",) .then(() => console.log("MongoDB connected...")) .catch(err => console.error("Connection error:", err));
我已经试过这些排查方法了:
- 在Atlas后台的IP白名单里添加了自己的本地IP,也试过用
0.0.0.0/0允许所有IP访问 - 把连接URI放到MongoDB Compass里测试,能正常连接并操作数据
- 项目的接口在Postman里能正常响应,但尝试写入数据时就会触发这个超时错误
- 用的是从Atlas控制面板直接复制的连接字符串,没有手动修改过内容
现在有几个疑问想请教大家:
- 这个会不会是
mongodb+srv的DNS/SRV解析问题?要不要换成不带SRV的连接字符串(mongodb://host1,host2,...)试试? - 有没有可能是本地网络或者防火墙的限制,导致出现
queryTxt ETIMEOUT错误? - 有没有什么Mongoose专属的配置项是我漏掉的?
内容来源于stack exchange
相关产品推荐
相关产品推荐

