UNPKG

litepath

Version:

Microframework ligero para Node.js

50 lines (39 loc) 1.82 kB
// db.js // Este archivo se encarga de configurar y manejar la conexión a MongoDB // utilizando el cliente oficial de MongoDB para Node.js. const { MongoClient } = require('mongodb'); // Importa el cliente de MongoDB // URL de conexión a MongoDB (en este caso, un servidor local) const MONGO_URL = 'mongodb://localhost:27017'; // Nombre de la base de datos que se usará const DB_NAME = 'miDB'; // Se crea una instancia del cliente de MongoDB usando la URL de conexión const client = new MongoClient(MONGO_URL); // Esta variable almacenará la instancia de la base de datos una vez conectada let dbInstance = null; /** * Función que establece la conexión con MongoDB. * - Si es la primera vez que se llama, se conecta y guarda la instancia. * - Si ya existe una conexión previa, reutiliza la instancia existente. * * @returns {Promise<Db>} Instancia de la base de datos lista para usar. */ async function connect() { if (!dbInstance) { // Solo conecta si aún no hay instancia creada try { // 1. Conecta al servidor de MongoDB await client.connect(); // 2. Obtiene la referencia a la base de datos especificada dbInstance = client.db(DB_NAME); // 3. Mensaje de confirmación en la consola console.log(`✅ Conectado a la base de datos "${DB_NAME}"`); } catch (err) { // Si ocurre un error al conectar, se muestra en la consola console.error('❌ Error conectando a MongoDB:', err.message); throw err; // Lanza el error para que pueda ser manejado por quien llame la función } } // Devuelve la instancia de la base de datos (ya conectada o reutilizada) return dbInstance; } // Exporta la función connect para que pueda usarse en otros archivos module.exports = { connect };