Estoy tratando de conectarme a mi clúster en mongoDB Atlas a través de Mongoose.connect(), pero cada vez que intento conectarme aparece una excepción "MongoError: autenticación fallida". Sé que MongoDB Atlas es un nuevo mongo como servicio, ¿no podría ser? apoyado por la mangosta todavía?.
La respuesta en esta publicación relacionada es correcta. Debería:
use la cadena de conexión tal como la proporciona atlas y simplemente proporciónela 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 y la contraseña es 1234 y el nombre de base de datos 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:1234@firstcluster.4rc4s.mongodb.net/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"); }const mongoAtlasUri = "mongodb+srv://<username>:<password>@firstcluster.4rc4s.mongodb.net/<dbname>?retryWrites=true&w=majority"; 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"); } const dbConnection = mongoose.connection; dbConnection.on("error", (err) => console.log(`Connection error ${err}`)); dbConnection.once("open", () => console.log("Connected to DB!"));