Mist, jetzt vielleicht
This commit is contained in:
36
lib/mongodb.ts
Normal file
36
lib/mongodb.ts
Normal file
@@ -0,0 +1,36 @@
|
||||
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;
|
||||
Reference in New Issue
Block a user