faber-finances/server/utils/db.js

41 lines
No EOL
869 B
JavaScript

import { MongoClient } from 'mongodb'
let client = null
let db = null
export async function connectToDatabase() {
if (db) {
return db
}
const uri = process.env.MONGO_URI
if (!uri) {
throw new Error('MONGO_URI environment variable is not set')
}
try {
client = new MongoClient(uri)
await client.connect()
db = client.db('faber-finances')
console.log('Connected to MongoDB')
return db
} catch (error) {
console.error('Failed to connect to MongoDB:', error)
throw error
}
}
export async function getCollection(name) {
const database = await connectToDatabase()
return database.collection(name)
}
// Close connection (useful for cleanup)
export async function closeDatabaseConnection() {
if (client) {
await client.close()
client = null
db = null
console.log('Disconnected from MongoDB')
}
}