2
votes

Le nœud / l'application express ne parvient pas à se connecter à Mongodb Atlas à l'aide de la mangouste

J'ai une application node / express que j'essaie de connecter à Mongodb Atlas en utilisant mangouste.

Tout mon code est identique à une application précédente que j'avais connectée à Atlas (qui fonctionnait bien). Lorsque je l'exécute sur ma machine de travail (Windows 10), tout fonctionne comme prévu. Cependant, lorsque je l'exécute sur mon MacBook Pro (Mojave), l'application express s'exécute mais la connexion mangouste à Atlas génère l'erreur suivante:

const express = require('express');
const mongoose = require('mongoose');

const app = express();

mongoose
  .connect(
    'mongodb+srv://client:<PASSWORD>@development-zv5hp.mongodb.net/shop',
    { useNewUrlParser: true }
  )
  .then(() => console.log('MongoDB Connected...'))
  .catch(err => console.log(err));

const PORT = process.env.PORT || 5000;
app.listen(PORT, () => console.log(`Server running on port ${PORT}`));

server.js

{ Error: queryTxt EBADNAME development-zv5hp.mongodb.net
    at QueryReqWrap.onresolve [as oncomplete] (dns.js:196:19)
  errno: 'EBADNAME',
  code: 'EBADNAME',
  syscall: 'queryTxt',
  hostname: 'development-zv5hp.mongodb.net' }

Quelle pourrait être la cause de ce problème? J'ai vérifié l'utilisateur et le mot de passe Atlas et j'ai ajouté mon adresse IP à la liste blanche (en fait, j'ai ajouté toutes les adresses IP à la liste blanche).

En utilisant:

  • nœud v10.15.3
  • express v4.16.4
  • mangouste v5.5.1


0 commentaires

3 Réponses :


0
votes

s'il vous plaît ajouter autoIndex: false ça marche pour moi

mongoose
  .connect(
    'mongodb+srv://client:<PASSWORD>@development-zv5hp.mongodb.net/shop',
    {autoIndex: false, useNewUrlParser: true }


1 commentaires

Malheureusement, cela n'a fait aucune différence. Lance toujours la même erreur.



1
votes

L'utilisation du serveur DNS de Google 8.8.8.8 et 8.8.4.4 peut résoudre ce problème


1 commentaires

Cela a fonctionné - Merci. De toute évidence, quelque chose avec mon FAI domestique le bloquait. Fait intéressant, si je connectais mon téléphone pour utiliser des données mobiles (fournies par le même FAI), cela fonctionnait avec le DNS par défaut ...



0
votes

Cette erreur est due au fait que l'URI 'mongodb + srv: // client: @ development-zv5hp.mongodb.net / shop' qui a été transmis pour se connecter n'a pas pu être résolu . Votre serveur DNS ne le sait pas et ne peut donc pas résoudre une adresse IP. D'où ebadname.

changez ceci comme Addison l'a mentionné


0 commentaires