Mongoose হলো official driver-এর ওপর তৈরি একটা library যা Node.js থেকে MongoDB-তে schema, model, আর validation যোগ করে — team real application-এ আসলে MongoDB-র সাথে কাজ করার সবচেয়ে ব্যাপকভাবে ব্যবহৃত উপায় এটা।
npm install mongooseimport mongoose from "mongoose"
await mongoose.connect("mongodb+srv://<username>:<password>@cluster0.xxxxx.mongodb.net/learningMongo")একটা schema একটা document-এর আকৃতি বর্ণনা করে — এর field, তাদের type, আর required বা একটা default value-র মতো নিয়ম:
import { Schema } from "mongoose"
const userSchema = new Schema({
name: { type: String, required: true },
email: { type: String, required: true, unique: true },
age: { type: Number, default: 18 },
isActive: { type: Boolean, default: true }
})একটা model হলো একটা schema থেকে তৈরি একটা class, একটা collection-এর জন্য আপনাকে একটা real JavaScript interface দেয় — Mongoose স্বয়ংক্রিয়ভাবে আসল MongoDB collection-এর জন্য নাম plural আর lowercase করে ("User" users collection হয়ে যায়):
const User = mongoose.model("User", userSchema)// তৈরি করুন
const newUser = await User.create({ name: "Rahul Verma", email: "rahul@example.com" })
// পড়ুন
const users = await User.find({ isActive: true })
// আপডেট করুন
await User.updateOne({ name: "Rahul Verma" }, { $set: { age: 25 } })
// মুছুন
await User.deleteOne({ name: "Rahul Verma" })CRUD method নাম raw driver থেকে বহন হয়
Mongoose method মূলত raw driver-এর CRUD method নাম প্রতিফলিত করে, তাই আগের lesson-এর সবকিছু সরাসরি transfer হয় — Mongoose যে real value যোগ করে তা হলো প্রতিটা write-এর সামনে বসা schema, validation, আর default value।