| 123456789101112131415161718192021222324252627282930313233 |
- const { MongoClient } = require('mongodb');
- const MONGODB_URL = process.env.MONGODB_URL || 'mongodb://mongodb:27017';
- const DB_NAME = process.env.MONGODB_DB || 'socialmedia';
- let client = null;
- let db = null;
- async function connect() {
- if (db) return db;
- client = new MongoClient(MONGODB_URL);
- await client.connect();
- db = client.db(DB_NAME);
- console.log(`[MongoDB] Connected to ${DB_NAME}`);
- return db;
- }
- async function getDb() {
- if (!db) await connect();
- return db;
- }
- async function disconnect() {
- if (client) {
- await client.close();
- client = null;
- db = null;
- console.log('[MongoDB] Disconnected');
- }
- }
- module.exports = { connect, getDb, disconnect };
|