Docker compose içerisine Mongodb eklendi ve bağlantıları yapıldı.

This commit is contained in:
2025-12-07 22:54:50 +03:00
parent 0f181833e5
commit 15611b1dc7
7 changed files with 111 additions and 1 deletions

39
server/modules/db.js Normal file
View File

@@ -0,0 +1,39 @@
import { MongoClient } from "mongodb";
const MONGO_HOST = process.env.MONGO_HOST || "mongo";
const MONGO_PORT = process.env.MONGO_PORT || "27017";
const MONGO_DB = process.env.MONGO_DB || "dupe";
const MONGO_USER = process.env.MONGO_USER || "dupe";
const MONGO_PASS = process.env.MONGO_PASS || "dupe";
const MONGO_AUTH_SOURCE = process.env.MONGO_AUTH_SOURCE || "admin";
const DEFAULT_URI = `mongodb://${encodeURIComponent(MONGO_USER)}:${encodeURIComponent(
MONGO_PASS
)}@${MONGO_HOST}:${MONGO_PORT}/${encodeURIComponent(MONGO_DB)}?authSource=${encodeURIComponent(
MONGO_AUTH_SOURCE
)}`;
const MONGO_URI = process.env.MONGO_URI || DEFAULT_URI;
let client = null;
let db = null;
export async function connectMongo() {
if (client && db) return { client, db };
const mongoClient = new MongoClient(MONGO_URI, {
maxPoolSize: 10,
serverSelectionTimeoutMS: 5000
});
await mongoClient.connect();
client = mongoClient;
db = mongoClient.db(MONGO_DB);
console.log(`📦 MongoDB bağlantısı hazır (db: ${db.databaseName})`);
return { client, db };
}
export function getDb() {
return db;
}