MongoDB

Document based NoSQL database

db/mongodb.ts
import { MongoClient } from "mongodb" const uri = process.env.MONGO_URI || "mongodb://mongo:27017/" let client: MongoClient | undefined let clientPromise: Promise<MongoClient> | undefined if (process.env.NODE_ENV === "development") { if (!global._mongoClientPromise) { client = new MongoClient(uri) global._mongoClientPromise = client.connect() } clientPromise = global._mongoClientPromise } else { client = new MongoClient(uri) clientPromise = client.connect() } export default clientPromise

MongoDB

I use MongoDB for my database, setting up a connection with MongoClient. Depending on the environment, it creates either a global connection promise for development or a regular one for production, exporting a promise that resolves to the connected MongoDB client. This connection is then imported into my Next.js API routes to interact with my MongoDB collections.