tratando de acceder a una base de datos externa en local a través de mi servidor, ejecuté este código del lado del servidor:
console.log('MONGODB_URI_LOCAL::', config.MONGODB_URI_LOCAL) const mongooseLocal = require('mongoose'); const connectionOptions = { useCreateIndex: true, useNewUrlParser: true, useUnifiedTopology: true, useFindAndModify: false }; const conn = mongooseLocal.createConnection(config.MONGODB_URI_LOCAL, connectionOptions); conn.on("error", console.error.bind(console, "connection error: ")); conn.once("open", async () => { console.log("Connected successfully"); });Y me sale este error:
MongoError: Autenticación fallida
aquí está el formato de la URI:
config.MONGODB_URI_LOCAL = mongodb://user_name:my_password@localhost:27017/my_db_nameEsta es la primera vez que intento conectarme a una base de datos local, así que:
¿Es posible conectarse a una base de datos local desde el servidor y leer o escribir datos?
En caso afirmativo, ¿cómo puedo solucionar este problema?
Aquí hay un enfoque que puede usar. Este enfoque le permite exportar su lógica de conexión a otras partes de su código.
const mongoose = require('mongoose') const connect = async (callback) => { try{ const connectionOptions = { useCreateIndex: true, useNewUrlParser: true, useUnifiedTopology: true, useFindAndModify: false }; await mongoose.connect(config.MONGODB_URI_LOCAL, connectionOptions) // On successful connection you can call your callback function callback() }catch(err){ console.log(err) process.exit(1) } } connect()