IcostPro/lib/mongodb.ts
2026-02-11 21:11:19 +01:00

30 lines
617 B
TypeScript

import { MongoClient, Db } from 'mongodb';
const uri = process.env.MONGODB_URI!;
let client: MongoClient;
let db: Db;
declare global {
// eslint-disable-next-line no-var
var _mongoClient: MongoClient | undefined;
}
export async function getDb(): Promise<Db> {
if (db) return db;
if (process.env.NODE_ENV === 'development') {
if (!global._mongoClient) {
global._mongoClient = new MongoClient(uri);
await global._mongoClient.connect();
}
client = global._mongoClient;
} else {
client = new MongoClient(uri);
await client.connect();
}
db = client.db();
return db;
}