100% Type-Safe
Schema names, field names, and return types strictly typed with full inference.
Type-safe. Serverless-ready. Zero magic.

// purely functional schema definition
import { defineSchema, s } from "mondel";
export const userSchema = defineSchema("users", {
timestamps: true, // adds createdAt, updatedAt
fields: {
// _id is implicit - auto-generated by MongoDB
email: s.string().required().unique(),
role: s.enum(["ADMIN", "USER"]).default("USER"),
metadata: s.object({
active: s.boolean(),
}),
},
});