MongoDBConnector.js 697 B

123456789101112131415161718192021222324252627282930313233
  1. const { MongoClient } = require('mongodb');
  2. const MONGODB_URL = process.env.MONGODB_URL || 'mongodb://mongodb:27017';
  3. const DB_NAME = process.env.MONGODB_DB || 'socialmedia';
  4. let client = null;
  5. let db = null;
  6. async function connect() {
  7. if (db) return db;
  8. client = new MongoClient(MONGODB_URL);
  9. await client.connect();
  10. db = client.db(DB_NAME);
  11. console.log(`[MongoDB] Connected to ${DB_NAME}`);
  12. return db;
  13. }
  14. async function getDb() {
  15. if (!db) await connect();
  16. return db;
  17. }
  18. async function disconnect() {
  19. if (client) {
  20. await client.close();
  21. client = null;
  22. db = null;
  23. console.log('[MongoDB] Disconnected');
  24. }
  25. }
  26. module.exports = { connect, getDb, disconnect };