create-n4-app
Version:
Create Next.js app with the n4 stack
35 lines (25 loc) • 727 B
text/typescript
import mongoose, { Mongoose } from "mongoose";
const MONGODB_URL = process.env.MONGODB_URL;
interface MongooseConnection {
conn: Mongoose | null;
promise: Promise<Mongoose> | null;
}
let cached: MongooseConnection = (global as any).mongoose;
if (!cached) {
cached = (global as any).mongoose = {
conn: null,
promise: null,
};
}
export const connectToDatabase = async () => {
if (cached.conn) return cached.conn;
if (!MONGODB_URL) throw new Error("Missing MONGODB_URL");
cached.promise =
cached.promise ||
mongoose.connect(MONGODB_URL, {
dbName: "",
bufferCommands: false,
});
cached.conn = await cached.promise;
return cached.conn;
};