from motor.motor_asyncio import AsyncIOMotorClient from typing import Optional from app.core.config import settings class Database: client: Optional[AsyncIOMotorClient] = None db = Database() async def connect_to_mongo(): """MongoDB 연결""" print(f"Connecting to MongoDB at {settings.MONGODB_URL}") db.client = AsyncIOMotorClient(settings.MONGODB_URL) print("MongoDB connected successfully") async def close_mongo_connection(): """MongoDB 연결 종료""" if db.client: db.client.close() print("MongoDB connection closed") def get_database(): """데이터베이스 인스턴스 반환""" return db.client[settings.DB_NAME] def get_collection(language: str): """언어별 컬렉션 반환""" collection_name = f"articles_{language}" return get_database()[collection_name]