Intenté conectar mi clúster mongo con mi servidor local, pero este error sigue apareciendo. Estoy siguiendo un tutorial y parece funcionar bien para el tutor, pero me aparece este error. He proporcionado la captura de pantalla de error a continuación.
El src ha sido proporcionado
const express = require('express'); const env = require('dotenv'); const app = express(); const bodyParser = require('body-parser'); const mongoose = require('mongoose'); //routes const userRoutes = require('./routes/user'); //constants env.config(); //mongodb connect //mongodb+srv://root:<password>@cluster0.9ylhh.mongodb.net/myFirstDatabase?retryWrites=true&w=majority mongoose.connect( `mongodb+srv://${process.env.MONGO_DB_USER}:${process.env.MONGO_DB_PASSWORD}@cluster0.9ylhh.mongodb.net/${process.env.MONGO_DB_DATABASE}?retryWrites=true&w=majority`, { useNewUrlParser: true, useUnifiedTopology: true, useCreateIndex: true } ).then(() => { console.log('Database connected'); }); //middleware app.use(express.urlencoded({ extended: true})); app.use(express.json()); app.listen(process.env.PORT, () => { console.log(`server is running on port ${process.env.PORT}`); });También creé un archivo .env con los detalles de las credenciales y esas cosas.
Traté de hacer un comentario en lugar de una respuesta, pero no tengo suficiente reputación.
Si el error es de autenticación, quizás tengas un problema con tus credenciales.
¿Tu nombre de usuario o contraseña tiene alguno de estos caracteres? : / ? # [ ] @
Si lo hacen, tendrá que codificarlos con URI de la siguiente manera:
${encodeURIComponent(process.env.MONGO_DB_USER)}
${encodeURIComponent(process.env.MONGO_DB_PASSWORD)}
Más información aquí: https://docs.mongodb.com/manual/reference/connection-string/#examples
Por cierto: olvidaste la parte env en tu ${process.MONGO_DB_PASSWORD} .