2
votes

Connexion Atlas MongoDB

J'essaie de me connecter à Atlas MongoDB avec l'URI suivant (fourni par la chaîne de connexion mongodb)

{ MongoNetworkError: connection 3 to cluster0-shard-00-00-un6sk.mongodb.net:27017 closed
    at TLSSocket.<anonymous> (C:\Users\KARTIT Ismail\Desktop\devconnector\node_modules\mongodb-core\lib\connection\connection.js:352:9)
    at Object.onceWrapper (events.js:273:13)
    at TLSSocket.emit (events.js:182:13)
    at _handle.close (net.js:606:12)
    at TCP.done (_tls_wrap.js:386:7)
  name: 'MongoNetworkError',
  errorLabels: [ 'TransientTransactionError' ],
  [Symbol(mongoErrorContextSymbol)]: {} }

J'obtiens l'erreur suivante:

    module.exports = {
        mongoURI:'mongodb+srv://<user>:<password>@cluster0-un6sk.mongodb.net/test? 
    retryWrites=true'
    };

    //connect to mongoose
    mongoose
        .connect(db)
        .then( ()=>console.log('mongoDB connected'))
        .catch(err => console.log(err));


2 commentaires

Veuillez masquer votre URL de connexion pour des raisons de sécurité.


opps! Je l'ai édité. c'est juste pour un prototype cependant, merci


5 Réponses :


0
votes

Pour vous connecter à Atlas MongoDB, vous devez configurer la liste blanche IP. Accédez au site Web de MongoDB Atlas, connectez-vous. Ensuite, dans la vue Clusters, sélectionnez l'onglet Sécurité, puis Liste blanche IP. Vous verrez une adresse IP. Cliquez sur le bouton "Modifier" puis sur "Adresse IP actuelle". Appuyer sur OK. Redémarrez ensuite votre serveur.

Lien utile: https: //docs.atlas.mongodb .com / security-whitelist / # add-whitelist-entries


0 commentaires

0
votes

Quelle version de mangouste utilisez-vous? Les versions de mongoose inférieures à la version 5.0.15 ne semblent pas prendre en charge l'URL du serveur mongodb + srv: // .

L'autre problème courant concerne les adresses IP sur liste blanche.

Source: Erreur de connexion au serveur MongoDb Atlas


0 commentaires

3
votes

Assurez-vous d'avoir ajouté votre adresse IP à la liste blanche dans le panneau de configuration d'Atlas.

Vous pouvez saisir 0.0.0.0 , si vous souhaitez autoriser l'accès depuis n'importe quel hôte.

entrez la description de l'image ici

Ensuite, vous pouvez avoir une chaîne de connexion comme ci-dessous:

var connectionString= 'mongodb://<username>:<password>@<clustername>/<dbname>?ssl=true&replicaSet=<replica setname>&authSource=admin';

var db = mongoose.connect(connectionString).catch((error) => { console.log(error); });


1 commentaires

J'ai utilisé votre solution en autorisant l'accès depuis n'importe quel hôte et cela a fonctionné! Merci Monsieur



-1
votes

Ajoutez simplement l'adresse IP de l'interface utilisateur Atlas à la liste blanche, pas besoin de redémarrer l'application.


0 commentaires

1
votes

Ajoutez l'adresse IP à la liste blanche, la meilleure option permet l'accès depuis n'importe quel hôte, je crois que tout le monde a installé mongoose, sinon utilisez cette commande

const mongoose = require('mongoose');
const conStr = 'mongodb+srv://lord:<password>@cluster5-eeev8.mongodb.net/test?retryWrites=true&w=majority'

const DB = conStr.replace(
  '<password>',
  myPass
);

const DB = conStr.replace(
  'test',
  myDatabaseName
);
//remember mongoose.connect() return promise
mongoose
  .connect(DB, {
    usedNewUrlParser: true,
    useCreateIndex: true,
    useFindAndModify: false,
  })
  .then((con) => {
    console.log(con.connection);
    console.log('DB connection successful');
  });

Copiez d'abord la chaîne de connexion de votre application à partir de mongodb. com -> clusters-> connect-> connectez votre application

Maintenant, choisissez le pilote Node.js et la dernière version, maintenant copiez la chaîne de connexion.

Maintenant connection.js

XXX


0 commentaires