95 votes

Message d'erreur : MongoError : échec d'authentification via la chaîne URI

J'essaie de me connecter à mon serveur mongoDB via la chaîne de connexion qui m'a été donnée par mongo :

 "mongodb+srv://david:password@cluster0-re3gq.mongodb.net/test?retryWrites=true"

Dans mon code, j'appelle la connexion via mangouste comme ceci (en mettant évidemment mon mot de passe):

 const mongoose = require('mongoose');
const db = 'mongodb+srv://david:<password>@cluster0-re3gq.mongodb.net/test?retryWrites=true'
mongoose
    .connect(db, { 
        useNewUrlParser: true,
        useCreateIndex: true
      })
    .then(() => console.log('MongoDB connected...'))
    .catch(err => console.log(err));

Lorsque j'exécute le code, j'obtiens l'erreur suivante

"MongoError : échec de l'authentification d'authentification incorrecte."

Des idées de ce que cela pourrait signifier?

192voto

Crowdpleasr Points 1874

J'ai eu le même problème, et dans mon cas, la réponse était aussi simple que de supprimer les crochets angulaires "<" et ">" autour de <password> . J'avais essayé : my_login_id:<my_password> , alors que cela aurait dû être my_login_id:my_password .

137voto

Alexander Points 1045

Je pense que vous êtes confus avec le mot de passe du compte mongodb et le mot de passe utilisateur. Vous devez utiliser le mot de passe utilisateur, pas le mot de passe du compte. C'était la raison de mon cas.

13voto

skipper_dev Points 129

Fonctionne très bien!!

n'utilisez pas de crédits dans l'URI, utilisez plutôt comme ceci

 mongoose.connect(mongodb+srv://clusterAnything.mongodb.net/test?retryWrites=true&w=majority, { user: process.env.MONGO_USER, pass: process.env.MONGO_PASSWORD, useNewUrlParser: true, useUnifiedTopology: true })

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X