使用 mongoose 连接到 MongoDb Atlas 时出现 queryTxt ETIMEOUT

问题描述 投票:0回答:13

我正在尝试将我的猫鼬与我的 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。 在这里抛出相同的链接

mongodb mongoose mongodb-query
13个回答
45
投票
由于你的node和npm的版本而导致的错误, 要消除此错误,您只需通过转到“连接”并连接到“应用程序”来更改连接字符串

    将版本更改为
  1. 2.2.122或更高版本
  2. 复制字符串并粘贴,然后尝试再次连接。 如图所示

18
投票
将 DNS 更改为 8.8.8.8 对我来说有效。

在更改 DNS 之前,我尝试重新安装 mongoose,检查我的连接,然后关闭我的 VPN。它们都不起作用。


14
投票
您需要在网址中添加

&ssl=true

,您的完整网址应如下所示

mongodb+srv://<user>:<password>@********.mongodb.net/<db name>?authSource=admin&compressors=zlib&retryWrites=true&w=majority&ssl=true
    

11
投票
要解决此问题,请确保选择旧版本的节点(2.2.12)或更高版本

然后确保将您的 IP 地址添加到白名单中


9
投票
只有从移动热点切换到光纤连接才有效。我不知道这是怎么发生的,它解决了问题。 (P.S. 当连接到移动热点时,我已经将我的IP列入白名单,所以这个推理被消除了)


2
投票
我怀疑其中几个答案实际上都归结为同一件事 - 网络需要重置。我只是有一个奇怪的经历 - 我必须在不同端口上运行不同的应用程序,但都访问相同的 mongo 实例。一个出现连接错误,另一个则没有。我重新启动,一切都很好。

导致此问题的另一种情况是我在猫鼬调用周围没有异步/等待。


1
投票
我关闭并再次打开 Wi-Fi,它就工作了


0
投票
尝试将您的 dns 更改为 google dns :

对于窗户:

    进入控制面板
  1. 搜索
  2. network and sharing center
    
    
  3. 单击您的互联网或 wifi
  4. 选择属性
  5. 搜索
  6. internet protocol version 4(TCP/IPv4)
    
    
  7. 将其输入到字段中:


0
投票
我所做的只是拔掉我的 LAN 电缆并重新连接,而不是所有这些解决方案,现在它工作正常。


-1
投票
请检查您的连接字符串。密码必须是经过编码的密码,而不是纯文本。


-1
投票
就我而言,问题出在数据库网络访问上。我应该选择我当前的 IP 地址,而不是允许从任何地方访问


-1
投票
只需关闭我的移动数据连接,打开它,然后再次连接热点。开始工作了。


-2
投票
确保您的连接 URL 正确。在 .env 文件(用于环境变量的文件)中,删除连接字符串周围的双引号。 收下: URL = mongodb+srv://........................

© www.soinside.com 2019 - 2024. All rights reserved.