// 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;