📋
Mongoose (ODM)

Mongoose Schemas

Defining Structure
💡 Mongoose, schema, EK, "BLUEPRINT" hai, HAR, DOCUMENT, ke, liye — MongoDB, KHUD, schema-less, hai, LEKIN, Mongoose, EK, JavaScript, LAYER, ADD, karta hai, JO, STRUCTURE, aur, VALIDATION, ENFORCE, karta, hai, APPLICATION, LEVEL, PAR.

mongoose.Schema(), FIELD, NAMES, aur, UNKE, TYPES, DEFINE, karta hai — required, unique, min/max, JAISE, VALIDATION, RULES, BHI, YAHI, SPECIFY, kiye, jaate, HAIN.

timestamps: true, OPTION, se, createdAt/updatedAt, FIELDS, AUTOMATICALLY, MANAGE, ho, jaate, HAIN — HAR, SAVE/UPDATE, PAR, MongoDB, se, MANUALLY, TRACK, karne, ki, ZAROORAT, NAHI.

const mongoose = require("mongoose");

const userSchema = new mongoose.Schema({
  name: { type: String, required: true },
  email: { type: String, required: true, unique: true },
  age: { type: Number, min: 0, max: 120 },
  role: { type: String, enum: ["user", "admin"], default: "user" }
}, { timestamps: true });
📋
Mongoose, schema, EK, "BLUEPRINT" hai, HAR, DOCUMENT, ke, liye — MongoDB, KHUD, schema-less, hai, LEKIN, Mongoose, EK, JavaScript, LAYER, ADD, karta hai, JO, STRUCTURE, aur, VALIDATION, ENFORCE, karta, hai, APPLICATION, LEVEL, PAR.
1 / 2
⚡ झट से Recap
  • Schema = blueprint, fields/types/validation rules DEFINE karta hai
  • required, unique, min/max, enum = common, validation, options
  • timestamps: true = createdAt/updatedAt, automatically, manage
इस page में (2 subtopics)

Schema, fields, PAR, CUSTOM, validate, function, DEFINE, ki, ja, sakti, hai — jaise, EK, password, field, ki, complexity, check, karna, (built-in, min/max, se, ZYAADA, complex, RULES, ke, liye).

email: {
  type: String,
  validate: {
    validator: (v) => /^.+@.+\..+$/.test(v),
    message: "Invalid email format"
  }
}

schema.methods, se, INSTANCE, methods, DEFINE, kiye, ja, sakte, hain (HAR, document, PAR, available). schema.statics, se, MODEL-LEVEL, methods, DEFINE, hote, hain (jaise, User.findByEmail()).

💡Tip: Custom, methods, se, business, logic, (jaise, comparePassword()) model, ke, saath, hi, ENCAPSULATE, ho, jaati, hai, controllers, mein, SCATTER, hone, ke, bajaye.