Espero que alguien pueda ayudarme porque me confundí con este problema. Pensé que mi código estaba bien, pero Atlas parece rechazarlo, por lo que no pude conectarme a Atlas. La conexión tan simple. Lleno esos parámetros de nodemon.json:
const { MONGODB_ATLAS_USERNAME, MONGODB_ATLAS_PASSWORD, MONGODB_ATLAS_DBNAME } = process.env var mongoose = require('mongoose'); app.listen(PORT, () => { console.info(`App is running! at http://localhost:${PORT}`) }) mongoose.connect(`mongodb://${MONGODB_ATLAS_USERNAME}:${MONGODB_ATLAS_PASSWORD}@cluster0.lzjty.mongodb.net/${MONGODB_ATLAS_DBNAME}?retryWrites=true&w=majority&ssl=true`,{useNewUrlParser:true,useUnifiedTopology:true}); En Atlas, incluí mi IP en la lista blanca y permití que todas las IP se conecten
Pero cada ejecución de npm, el retorno siempre:
App is running! at http://localhost:8080 [1] (node:2012) UnhandledPromiseRejectionWarning: MongooseServerSelectionError: Could not connect to any servers in your MongoDB Atlas cluster. One common reason is that you're trying to access the database from an IP that isn't whitelisted. Make sure your current IP address is on your Atlas cluster's IP whitelist: https://docs.atlas.mongodb.com/security-whitelist/Generalmente sucede cuando usas una IP pública. Cambia cada vez que se conecta a Internet y necesita realizar cambios en MONGO Atlas. Le sugiero que haga estos cambios para el desarrollo.
Siga esto: - MongoDB Atlas -> NetworkAccess -> Edit -> Allow Any