Spaces:
Running
Running
| import mongoose from "mongoose"; | |
| const MONGODB_URI = process.env.MONGODB_URI; | |
| // @ts-expect-error iknown issue with mongoose types | |
| let cached = global.mongoose; | |
| if (!cached) { | |
| // @ts-expect-error iknown issue with mongoose types | |
| cached = global.mongoose = { conn: null, promise: null }; | |
| } | |
| async function dbConnect() { | |
| if (cached.conn) { | |
| return cached.conn; | |
| } | |
| if (!cached.promise) { | |
| cached.promise = mongoose | |
| .connect(MONGODB_URI as string) | |
| .then((mongoose) => { | |
| return mongoose; | |
| }); | |
| } | |
| cached.conn = await cached.promise; | |
| return cached.conn; | |
| } | |
| export default dbConnect; | |