我似乎无法再连接到免费的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' }
答案 0 :(得分:3)
我在星巴克工作时遇到了同样的问题,回家后立即尝试使用其他wifi连接进行连接。
答案 1 :(得分:1)
在某些情况下,当您的IP地址未在MongoDB Atlas集群中列入白名单时,会发生这种情况。这就是为什么它可以与您最初注册帐户时在家里的IP地址一起使用,但在咖啡厅WIFI或其他地方无法使用的原因。
因此,请确保将您当前的IP地址添加到您的MongoDB集群中。
答案 2 :(得分:0)
当我尝试在咖啡店访问MongoDB Atlas时遇到了这个问题。以前它一直运行完美,但是突然给了我这个确切的错误。我不确定为什么无法提供所有详细信息,但是对我来说,解决此问题的方法是进入群集并使用标准连接字符串连接。我复制并粘贴了更长的连接字符串,输入密码并进行设置后,它对我有用。 希望有帮助。
答案 3 :(得分:0)
由于某种原因,dns服务器未返回srv记录,因此将dns服务器更改为可返回这些记录的服务器,从而解决了该问题。 (我用https://use.opendns.com/来修复它)
答案 4 :(得分:0)
对我来说,这个问题仅发生在星巴克咖啡中,并且是随机的,OpenDNS不适用于我,Google DNS或其他任何尝试过的有趣的事情,因为它在家里可以正常工作。以前,我使用mongodb + srv字符串格式通过Mongoid和Ruby与mongoid.yml配置文件在“ uri”内部进行连接。
为了解决此问题,请确保遵循此链接https://docs.atlas.mongodb.com/driver-connection/(Mongoid示例)中描述的配置
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