8
votes

Erreur: querySrv ENODATA _mongodb._tcp.blog-cluster-0hb5z.mongodb.net à QueryReqWrap.onresolve [comme une fois terminé]

Il semble que je ne puisse plus me connecter à mon cluster gratuit Mongo Atlas. Tout fonctionnait et j'ai des données qui ont été collectées lorsque je regarde le site Web de MongoDB, donc je n'ai aucune idée pourquoi il a cessé de fonctionner et ne peut plus se connecter. Mon site entier ne se chargera pas.

Voici l'erreur que j'obtenais:

{ 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 commentaires

J'ai résolu ce problème en mettant à niveau la version du nœud. Il lançait la même erreur avec la version de nœud 10.15.0 et a été corrigé en le mettant à niveau vers 15.3.0.


5 Réponses :


1
votes

J'ai eu ce problème lorsque j'ai essayé d'accéder à mon MongoDB Atlas dans un café. Cela fonctionnait parfaitement auparavant, mais tout à coup me donnait cette erreur exacte. Je ne sais pas pourquoi, je ne peux pas vous donner tous les détails, mais ce qui a résolu le problème pour moi était d'aller à mon cluster et de se connecter avec la chaîne de connexion standard . J'ai copié et collé cette chaîne de connexion plus longue et après avoir entré mon mot de passe et l'avoir configuré, cela a fonctionné pour moi. J'espère que cela a aidé.


3 commentaires

Pouvez-vous donner un exemple de la chaîne que vous aviez et celle standard?


@chimpsarehungry avez-vous trouvé le format de la "Chaîne de connexion standard".


@JuanRicardo non, je laisse juste Starbucks quand cela arrive



10
votes

Pour une raison quelconque, le serveur DNS n'a pas renvoyé d'enregistrements srv, le changement du serveur DNS par un serveur qui renvoie ces enregistrements a résolu le problème. (J'ai utilisé https://use.opendns.com/ pour résoudre le problème)


4 commentaires

Cela devrait être la réponse acceptée. Je voyage beaucoup pour le travail et environ 5 à 10% des réseaux WIFI finissent par avoir ce problème. Une fois que j'ai changé mon fournisseur DNS en 8.8.8.8 (Google), j'ai pu me connecter. developer.google.com/speed/public-dns/docs/using J'imagine que vous pourriez utiliser CloudFlare ou divers autres fournisseurs DNS mais je n'ai pas testé.


Celui-ci fonctionne pour moi. Le serveur DNS de mon wifi a été mis à jour et l'erreur a disparu. Merci!


Excellent. Ça a marché pour moi


Je vous remercie. A travaillé pour moi.



7
votes

J'ai eu le même problème en travaillant dans un Starbucks rentré chez moi et il s'est connecté tout de suite essayez une connexion Wi-Fi différente.


6 commentaires

y a-t-il un autre moyen de contourner ce problème?


Ouais pareil. Dans un starbucks et ça ne marche pas.


Chez Starbucks? Ca ne fonctionne pas? Utilisez la chaîne de connexion Node.js 2.2.12. Répondez ici: stackoverflow.com/a/55639024/2055760 . L'interface utilisateur de mongodb Atlas fournit une option pour cela. À l'étape 1, sélectionnez le pilote Node.js, puis changez la version de 3.0 à 2.2.12 ou version ultérieure et ils vous donneront une chaîne de connexion qui fonctionne sur Starbucks WiFi.


Starbucks n'autorise toujours pas la connexion :(


Cela m'arrive en ce moment dans un Starbuck. J'ai même ajouté l'adresse IP Starbucks dans la liste blanche. C'est une conspiration de starbucks contre les développeurs.


Cela m'est également arrivé chez Starbucks. Une solution rapide consiste à se connecter à un VPN.



1
votes

Pour moi, ce problème ne se produisait que dans un café Starbucks, et c'était quelque chose d'aléatoire, OpenDNS ne fonctionnait pas pour moi, ni pour Google DNS ou pour tout autre système essayé, drôle car fonctionne très bien à la maison. Auparavant, j'utilisais le format de chaîne mongodb + srv pour me connecter à l'intérieur de "uri" en utilisant Mongoid et Ruby avec un fichier de configuration mongoid.yml.

Pour résoudre ce problème, assurez-vous de suivre la configuration décrite dans ce lien https://docs.atlas.mongodb.com/driver-connection/ (exemple mongoïde)

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


0 commentaires

1
votes

Dans certains cas, cela se produit lorsque votre adresse IP n'est pas en liste blanche dans le cluster MongoDB Atlas. C'est pourquoi il fonctionne avec votre adresse IP à la maison où vous avez initialement créé votre compte, mais ne fonctionne pas dans un café WIFI ou ailleurs.

Assurez-vous donc que votre adresse IP actuelle est ajoutée à votre cluster MongoDB.


0 commentaires