🍃
Database Integration

MongoDB & Mongoose

NoSQL Document Database
💡 MongoDB, EK, "FILING, CABINET" jaisa, hai, JISME, HAR, FILE, (DOCUMENT) apni, KHUD, ki, STRUCTURE, RAKH, SAKTI, hai (SQL, TABLE, ki, TARAH, STRICT, ROWS/COLUMNS, NAHI) — Mongoose, EK, "TEMPLATE, GUIDE" hai, JO, HAR, FILE, ko, EK, CONSISTENT, SHAPE, mein, RAKHNE, mein, HELP, karta hai.

MongoDB, EK, NoSQL, DOCUMENT, DATABASE, hai — DATA, JSON-LIKE, DOCUMENTS, (BSON) mein, STORE, hota hai, RIGID, SCHEMA, ki, ZAROORAT, NAHI. RELATIONAL, DATABASES, ki, TARAH, JOINS, KAAFI, KAM, USE, hote, hain — DATA, OFTEN, EMBED, kiya, jaata hai.

Mongoose, EK, ODM (Object Data Modeling) LIBRARY, hai — SCHEMAS, DEFINE, karके, MongoDB, ke, UPAR, STRUCTURE, aur, VALIDATION, ADD, karta hai — RAW, MongoDB, DRIVER, se, KAAFI, ZYAADA, DEVELOPER-FRIENDLY, hai.

const mongoose = require("mongoose");
await mongoose.connect("mongodb://localhost/myapp");

const userSchema = new mongoose.Schema({
  name: { type: String, required: true },
  email: { type: String, required: true, unique: true },
  age: { type: Number, min: 0 },
});

const User = mongoose.model("User", userSchema);

const user = await User.create({ name: "Aarav", email: "aarav@example.com" });
const found = await User.findOne({ email: "aarav@example.com" });
🍃
MongoDB, EK, "FILING, CABINET" jaisa, hai, JISME, HAR, FILE, (DOCUMENT) apni, KHUD, ki, STRUCTURE, RAKH, SAKTI, hai (SQL, TABLE, ki, TARAH, STRICT, ROWS/COLUMNS, NAHI) — Mongoose, EK, "TEMPLATE, GUIDE" hai, JO, HAR, FILE, ko, EK, CONSISTENT, SHAPE, mein, RAKHNE, mein, HELP, karta hai.
1 / 2
⚡ Quick Recap
  • MongoDB = NoSQL document database, JSON-like, documents, mein, data
  • Mongoose = ODM, jo, schemas/validation, ADD, karta hai
  • Joins, kam, use, hote, hain — data, aksar, embed, kiya, jaata hai
Is page mein (2 subtopics)

Mongoose, "pre" aur, "post" HOOKS, SUPPORT, karta hai — jaise, pre("save"), EK, DOCUMENT, SAVE, hone, se, PEHLE, RUN, hota hai (jaise, PASSWORD, HASH, karne, ke, liye).

userSchema.pre("save", async function(next) {
  if (this.isModified("password")) {
    this.password = await bcrypt.hash(this.password, 10);
  }
  next();
});

MongoDB, mein, "JOINS" NAHI, HOTE, jaise, SQL, mein — Mongoose, ka, populate(), REFERENCED, DOCUMENTS, ko, AUTOMATICALLY, FETCH, karके, EMBED, kar, deta hai, EK, SEPARATE, QUERY, ki, TARAH, KAAM, karके.

💡Tip: populate(), MULTIPLE, DATABASE, ROUND-TRIPS, karta hai — DEEPLY, NESTED, populate(), PERFORMANCE, ko, AFFECT, kar, sakta hai, jaise, SQL, mein, N+1, problem.