byteastra / app /database.py
risu1012's picture
feat: optimize deployment payload using zipped database index
59045dd
Raw
History Blame Contribute Delete
671 Bytes
"""
ByteAstra backend — MongoDB database setup using PyMongo.
"""
from pymongo import MongoClient
from app.config import get_settings
settings = get_settings()
client = MongoClient(settings.mongo_url)
db = client.get_database("byteastra")
def get_db():
"""FastAPI dependency that provides a MongoDB database session."""
yield db
def init_db():
"""Configures indexes at startup."""
# Create indexes for high query performance
db.sessions.create_index("user_id")
db.sessions.create_index("updated_at")
db.messages.create_index("session_id")
db.messages.create_index("created_at")
db.users.create_index("email", unique=True)