waitlist/lib/db.js
Christopher Arraya 353c075007 initial commit
2023-07-02 20:10:14 -04:00

36 lines
840 B
JavaScript

// lib/db.js
import { MongoClient } from "mongodb";
const uri = process.env.MONGODB_URI; // Connection string from .env.local
const options = {
useUnifiedTopology: true,
useNewUrlParser: true,
};
let client;
let clientPromise;
if (!process.env.MONGODB_URI) {
throw new Error("Please add your MongoDB URI to .env.local");
}
if (process.env.NODE_ENV === "development") {
// In development mode, use a global variable to keep the database connection
// open across hot reloads
if (!global.mongo) {
global.mongo = { conn: null, promise: null };
}
client = global.mongo;
} else {
// In production mode, create a new connection for every request
client = {};
}
if (!client.promise) {
client.promise = MongoClient.connect(uri, options).then((mongoClient) => {
return mongoClient;
});
}
export default client;