evyos-frontend-development/lib/mongodb.ts

15 lines
625 B
TypeScript

import mongoose from "mongoose";
declare global { var mongoose: { conn: mongoose.Mongoose | null; promise: Promise<mongoose.Mongoose> | null } }
let cached = global.mongoose;
if (!cached) { cached = global.mongoose = { conn: null, promise: null } }
export async function connectDB() {
if (cached.conn) return cached.conn;
if (!process.env.MONGODB_URI) { throw new Error("Please define MONGODB_URI in your environment variables") }
if (!cached.promise) { cached.promise = mongoose.connect(process.env.MONGODB_URI).then((mongoose) => mongoose) }
cached.conn = await cached.promise;
return cached.conn;
}