Lesson 18 / 23
Express + a Database
Express itself is database-agnostic — you bring the driver or ODM.
No database built in
Express has no opinion on storage. For MongoDB, apps commonly use Mongoose (an ODM); for PostgreSQL/MySQL, the pg driver or an ORM like Prisma.
A minimal Mongoose route
Connect once at startup, then use a model inside route handlers.
import mongoose from 'mongoose';
await mongoose.connect(process.env.MONGO_URI);
const User = mongoose.model('User', new mongoose.Schema({
name: String,
email: String,
}));
app.get('/users', async (req, res, next) => {
try {
const users = await User.find();
res.json(users);
} catch (err) {
next(err);
}
});Quick check: What is Mongoose?
- A CSS framework
- An ODM for modeling MongoDB data in Node
- A replacement for Express itself
Answer
An ODM for modeling MongoDB data in Node — Mongoose is an Object Data Modeling library that sits on top of the MongoDB driver.