Ошибка: querySrv ENODATA _mongodb._tcp.blog-cluster-0hb5z.mongodb.net в QueryReqWrap.onresolve [как oncomplete]
Похоже, я больше не могу подключиться к своему бесплатному кластеру 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' }
1 ответ
По какой-то причине DNS-сервер не возвратил записи srv, и изменение DNS-сервера на сервер, который возвращает эти записи, устранило проблему. (Я использовал https://use.opendns.com/ чтобы исправить это)
У меня была та же самая проблема, работая в Starbucks, и я сразу же подключился, попробуй другое соединение Wi-Fi.
Для меня эта проблема возникала только в кофе Starbucks, и это было что-то случайное, OpenDNS не работал ни для меня, ни для Google DNS, ни для чего-то другого, забавного, потому что дома просто отлично работает. Ранее я использовал строковый формат mongodb + srv для соединения внутри "uri", используя Mongoid и Ruby с файлом конфигурации mongoid.yml.
Чтобы устранить эту проблему, обязательно следуйте конфигурации, описанной в этой ссылке 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
В некоторых случаях это происходит, когда ваш IP-адрес не включен в белый список кластера MongoDB Atlas. Вот почему он работает с вашим IP-адресом дома, где вы изначально зарегистрировали свою учетную запись, но не работает в кафе WIFI или где-либо еще.
Поэтому убедитесь, что ваш текущий IP-адрес добавлен в кластер MongoDB.
У меня возникла эта проблема, когда я попытался получить доступ к своему атласу MongoDB в кафе. Раньше он работал идеально, но внезапно выдал мне эту ошибку. Я не уверен, почему, я не могу дать вам все подробности, но то, что исправило это для меня, собиралось в мой кластер и соединялось со стандартной строкой соединения. Я скопировал и вставил эту более длинную строку подключения, и после ввода пароля и настройки он работал для меня. Надеюсь, что это помогло.