MongoDB & Mongoose
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 = 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
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के.