Native MongoDB, typed
Filters, operators, sessions, and aggregation stay first-class. Mondel adds schema names, field types, and validation — not a new query language.
If you know the MongoDB driver, you know Mondel. Typed collections. Zod validation. Serverless-ready. Zero magic.

import { defineSchema, s } from "mondel";
export const userSchema = defineSchema("users", {
timestamps: true,
fields: {
email: s.string().required().unique(),
role: s.enum(["ADMIN", "USER"]).default("USER"),
metadata: s.object({
active: s.boolean(),
}),
},
});
export const schemas = [userSchema] as const;Mondel is a thin ODM: plain documents in, plain documents out. No Active Record classes, no hidden hooks, no hydration layer.
| You want | Use |
|---|---|
Typed db.users.create / findMany | Mondel |
Full driver power (watch, exotic ops) | db.users.getCollection() |
| Indexes & validators in deploy | npx mondel push |
| Relations engine / SQL migrations | Not Mondel — see Comparison |