Files
tabletten/lib/mongodb.ts
2026-03-11 20:33:19 +01:00

37 lines
1.2 KiB
TypeScript

import { MongoClient, MongoClientOptions } from 'mongodb';
const MONGOHOST = process.env.MONGOHOST || 'localhost';
const MONGOPORT = process.env.MONGOPORT || '27017';
const MONGOAUTH = process.env.MONGOAUTH === 'true';
const MONGOUSRP = process.env.MONGOUSRP || '';
export const MONGOBASE = process.env.MONGOBASE || 'medizin';
const MONGO_URL = MONGOAUTH
? `mongodb://${MONGOUSRP}@${MONGOHOST}:${MONGOPORT}/?authSource=admin`
: `mongodb://${MONGOHOST}:${MONGOPORT}`;
console.log("auth:", MONGOAUTH, "url:", MONGO_URL)
const options: MongoClientOptions = {};
let client: MongoClient;
let clientPromise: Promise<MongoClient>;
declare global {
// eslint-disable-next-line no-var
var _mongoClientPromise: Promise<MongoClient> | undefined;
}
if (process.env.NODE_ENV === 'development') {
// In development, use a global variable to preserve the connection across HMR reloads
if (!global._mongoClientPromise) {
client = new MongoClient(MONGO_URL, options);
global._mongoClientPromise = client.connect();
}
clientPromise = global._mongoClientPromise;
} else {
client = new MongoClient(MONGO_URL, options);
clientPromise = client.connect();
}
export default clientPromise;