Javascript 错误:querySrv ENODATA _mongodb._tcp.blog-cluster-0hb5z.mongodb.net位于QueryReqWrap.onresolve[作为oncomplete]

Javascript 错误:querySrv ENODATA _mongodb._tcp.blog-cluster-0hb5z.mongodb.net位于QueryReqWrap.onresolve[作为oncomplete],javascript,node.js,database,mongodb,mongodb-atlas,Javascript,Node.js,Database,Mongodb,Mongodb Atlas,看起来我再也无法连接到免费的Mongo Atlas群集了。一切正常,我在查看MongoDB网站时收集了数据,所以我不知道为什么它停止工作,无法再连接。我的整个网站将无法加载 这就是我得到的错误: { Error: querySrv ENODATA _mongodb._tcp.blog-cluster-0hb5z.mongodb.net at QueryReqWrap.onresolve [as oncomplete] (dns.js:197:19) errno: 'ENODATA',

看起来我再也无法连接到免费的Mongo Atlas群集了。一切正常,我在查看MongoDB网站时收集了数据,所以我不知道为什么它停止工作,无法再连接。我的整个网站将无法加载

这就是我得到的错误:

{ Error: querySrv ENODATA _mongodb._tcp.blog-cluster-0hb5z.mongodb.net
    at QueryReqWrap.onresolve [as oncomplete] (dns.js:197:19)
  errno: 'ENODATA',
  code: 'ENODATA',
  syscall: 'querySrv',                                                                  Blog/app.js:54:14
  hostname: '_mongodb._tcp.blog-cluster-0hb5z.mongodb.net' }

我在一家咖啡店尝试访问我的MongoDB地图册时遇到了这个问题。它以前工作得很好,但突然给了我这个确切的错误。我不知道为什么,我无法向您提供所有详细信息,但为我解决这一问题的方法是转到我的群集并使用标准连接字符串进行连接。我复制并粘贴了那个较长的连接字符串,在输入密码并设置之后,它对我起了作用。
希望有帮助。

由于某些原因,dns服务器没有返回srv记录,将dns服务器更改为返回这些记录的服务器修复了问题。(我曾经解决过这个问题)

我在一家星巴克工作时遇到了同样的问题,回家后,它马上就连接上了。尝试不同的wifi连接

对我来说,这个问题只发生在星巴克咖啡中,而且是随机的,OpenDNS对我、谷歌DNS或任何其他尝试过的、有趣的东西都不起作用,因为在家里就可以正常工作。之前,我使用mongodb+srv字符串格式,使用Mongoid和Ruby以及Mongoid.yml配置文件连接“uri”内部

要解决此问题,请确保遵循此链接中描述的配置(Mongoid示例)


在某些情况下,当您的IP地址没有被列入MongoDB Atlas集群的白名单时,就会发生这种情况。这就是为什么它适用于您最初注册帐户的家庭IP地址,但不适用于咖啡店WIFI或其他地方


因此,请确保将您当前的IP地址添加到MongoDB集群中。

您能举一个您拥有的字符串和标准字符串的示例吗?@chimpsarehungry您找到“标准连接字符串”的格式了吗?@JuanRicardo没有,我只是在发生这种情况时离开星巴克。有其他方法解决这个问题吗?是的。在星巴克,它不起作用,在星巴克?不工作?使用Node.js 2.2.12连接字符串。答案如下:。mongodb Atlas UI提供了一个选项。在步骤1中,选择Node.js驱动程序,然后将版本从3.0更改为
2.2.12或更高版本
,他们将为您提供一个在星巴克WiFi上工作的连接字符串。星巴克仍然不允许连接:(我现在在一家星巴克遇到了这种情况。我甚至将星巴克的IP加入了白名单。这是星巴克针对开发商的阴谋。这应该是公认的答案。我经常出差工作,大约5-10%的WIFI网络最终出现了这个问题。有一次我将DNS提供商改为8.8.8.8(谷歌)我能够连接。我想你可以使用CloudFlare或其他各种DNS提供商,但我没有测试。这一个对我有效。更新了我的wifi DNS服务器,错误消失了。谢谢!非常好。它对meI有效,通过升级节点版本来修复此问题。它在节点版本10.15.0中抛出了相同的错误,并得到了修复通过升级到15.3.0。我重新启动了我的机器,一切都恢复正常。我使用windows,当我启动它备份时,它通过一个更新对话框运行,所以我怀疑这与此有关。
production:
  # Configure available database clients. (required)
  clients:
    # Defines the default client. (required)
    default:
      # Defines the name of the default database that Mongoid can connect to.
      # (required).
      database: 'myDatabaseName'

      # Provides the hosts the default client can connect to. Must be an array
      # of host:port pairs. (required)
      hosts:
        - mycluster0-shard-00-00.mongodb.net:27017
        - mycluster0-shard-00-01.mongodb.net:27017
        - mycluster0-shard-00-02.mongodb.net:27017
      options:
        # The name of the user for authentication.
        user: kay

        # The password of the user for authentication.
        password: myRealPassword

        # The database or source to authenticate the user against. If the database
        # specified above is not admin, admin MUST be specified here.
        auth_source: admin

        # All Atlas servers use SSL. (default: false)
        ssl: true