Spaces:
Runtime error
Runtime error
| from pymongo import MongoClient | |
| import os | |
| from dotenv import load_dotenv | |
| load_dotenv() | |
| client = None | |
| db = None | |
| def init_db(): | |
| global client, db | |
| MONGO_URI = os.getenv('MONGO_URI') | |
| DATABASE_NAME = os.getenv('DATABASE_NAME', 'recommendation_system') | |
| if not MONGO_URI: | |
| raise ValueError("MONGO_URI environment variable is required") | |
| try: | |
| client = MongoClient(MONGO_URI) | |
| db = client[DATABASE_NAME] | |
| # Test connection | |
| client.admin.command('ping') | |
| print(f"Connected to MongoDB database: {DATABASE_NAME}") | |
| # Create indexes for performance | |
| db.users.create_index("email", unique=True) | |
| db.users.create_index("username", unique=True) | |
| db.history.create_index([("user_id", 1), ("timestamp", -1)]) | |
| return db | |
| except Exception as e: | |
| print(f"Failed to connect to MongoDB: {e}") | |
| raise e | |
| def get_db(): | |
| global db | |
| if db is None: | |
| init_db() | |
| return db |