Solución:
La respuesta en esta publicación relacionada es correcta. Debería:
- no mezclar opciones con la cadena de conexión (si se hace así)
- asegúrese de que su IP en la que está ejecutando esté en la lista blanca y que su red permita conexiones a Atlas
- asegúrese de que el usuario tenga permisos suficientes
-
usa la cadena de conexión como es proporcionado por atlas y simplemente proporcionárselo a
mongoose.connect(uri);
MongoError: la autenticación falla – Significa que su nombre o contraseña o dbname no es correcto –
muestra de uri –
const uri =
"mongodb+srv://<username>:<password>@firstcluster.4rc4s.mongodb.net/<dbname>?retryWrites=true&w=majority";
Supongamos que el nombre de usuario es – najim & la contraseña es 1234 & dbname es mascotas (Nota: el nombre de base de datos predeterminado es prueba, pero puede escribir lo que quiera) entonces mi uri estará con las credenciales anteriores –
const mongoAtlasUri =
"mongodb+srv://najim:[email protected]/pets?retryWrites=true&w=majority";
para conectar con Moongoose
try {
// Connect to the MongoDB cluster
mongoose.connect(
mongoAtlasUri,
{ useNewUrlParser: true, useUnifiedTopology: true },
() => console.log(" Mongoose is connected")
);
} catch (e) {
console.log("could not connect");
}
try {
mongoose.connect( uri, {useNewUrlParser: true, useUnifiedTopology: true}, () =>
console.log("connected"));
}catch (error) {
console.log("could not connect");
}
esto funciona bien, pruébalo
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)