MongoDBIntermediate
Document Lifecycle
Mongoose document নিয়ে কাজ — তৈরি, save, modify, validate, toObject — বাংলায়।
10টি অংশবাংলা ভাষায়
Document কী?
Document হলো MongoDB collection-এর একটি row — Mongoose-এ এটি Model-এর instance। ডেটাবেসের data memory-তে JavaScript object হিসেবে কাজ করে।
নতুন document তৈরি ও save
Create + savejs
js
const user = new User({
name: "রহিম",
email: "rahim@example.com",
age: 24,
});
await user.save(); // insert
// সংক্ষেপে — create() এক কথায়
const user2 = await User.create({
name: "করিম",
email: "karim@example.com",
});Document modify
Loaded document-এর field-এ value বসিয়ে save() দিলেই update হয়ে যায় — কোনটা change হয়েছে তা mongoose track করে:
Update by documentjs
js
const user = await User.findById(id);
user.age = 26; // shortcut assignment
user.set("name", "রহিম আহমেদ"); // বা set() দিয়ে
console.log(user.isModified("age")); // true
console.log(user.modifiedPaths()); // [ 'age', 'name' ]
await user.save();validate ও toObject
Manual validate + plain objectjs
js
const user = new User({ name: "", email: "invalid" });
// save() চাইলে validation-ও চলে —
// চাইলে নিজে হাতে validate করতে পারেন
await user.validate(); // fail হলে throw করবে
// toObject() → plain JS object
const plain = user.toObject();
console.log(plain.name); // schema-type অনুযায়ী value
// JSON-এ রূপান্তর (API response-এর জন্য)
const json = user.toJSON();save() vs updateOne()
document.save() পুরো document validate ও mongoose middleware চালায় — সাধারণত পছন্দনীয়। Model.updateOne() সরাসরি ডেটাবেসে যায়, validate/middleware চালায় না।
শেষ প্যারায় নিজে practice করুন — কোড কপি করে নিজের এডিটরে চালিয়ে দেখুন।