我正在尝试将我的猫鼬与我的 MongoDB Atlas 集群连接起来。它目前没有数据库或任何东西,但每当我尝试时:
mongoose.connect( uri || 'mongodb://localhost/test',options)
.then(()=>{
console.log("Connected to the Database. Yayzow!");
})
.catch(err => {
console.log(err);
});
我收到这条消息:
Error: queryTxt ETIMEOUT cluster0-ghis2.mongodb.net
at QueryReqWrap.onresolve [as oncomplete] (dns.js:202:19) {
errno: 'ETIMEOUT',
code: 'ETIMEOUT',
syscall: 'queryTxt',
hostname: 'cluster0-ghis2.mongodb.net'
}
我的依赖:
"dependencies": {
"express": "^4.17.1",
"mongodb": "^3.5.7",
"mongoose": "^5.9.14"
}
我现在已将所有 IP 地址列入白名单 (0.0.0.0/0)。此外,我还确保我的防火墙已断开连接,我的防病毒软件也已断开连接。我让我的朋友也检查了一下,这对他有用,但对我不起作用
如有任何帮助,我们将不胜感激!
编辑
通过将我的 DNS 更改为 Google 的公共 DNS 解决了错误! 如果有人收到此错误,请确保更改您的 DNS。 在这里抛出相同的链接
在更改 DNS 之前,我尝试重新安装 mongoose,检查我的连接,然后关闭我的 VPN。它们都不起作用。
&ssl=true
,您的完整网址应如下所示
mongodb+srv://<user>:<password>@********.mongodb.net/<db name>?authSource=admin&compressors=zlib&retryWrites=true&w=majority&ssl=true
导致此问题的另一种情况是我在猫鼬调用周围没有异步/等待。