MongoDBBeginner
Model তৈরি
Schema থেকে Model তৈরি, collection naming এবং model ব্যবহারের নিয়ম — বাংলায়।
10টি অংশবাংলা ভাষায়
Model কী?
Model হলো Schema-এর উপর নির্মিত একটি constructor — এটি একটি নির্দিষ্ট collection-এর সাথে যুক্ত থাকে এবং এর মাধ্যমেই আমরা document read/write করি।
Model তৈরিjs
js
import mongoose from "mongoose";
const userSchema = new mongoose.Schema({
name: String,
email: String,
});
// 'User' → collection: 'users'
const User = mongoose.model("User", userSchema);
export default User;Collection naming
Mongoose automatically pluralize ও lowercase করে: User → users, BlogPost → blogposts, Category → categories। collection নাম না মানলে schema-এর তৃতীয় argument থেকে নিজের নাম দিন:
Custom collection namejs
js
const User = mongoose.model("User", userSchema, "my_users");
// v8: createModel() — নতুন ও recommended
const User2 = mongoose.createModel("User", userSchema, "my_users");একই প্রজেক্টে একবারই model
Duplicate model error
একই নামে আবার mongoose.model() দিলে OverwriteModelError হয়। যেসব জায়গায় file reload হতে পারে (যেমন hot reload), সেখানে mongoose.models.User || mongoose.model(...) গার্ড ব্যবহার করুন।
Model instance
Model থেকে documentjs
js
const user = new User({ name: "রহিম", email: "rahim@example.com" });
// memory-তে document আছে, ডেটাবেসে এখনো যায়নি
console.log(user.isNew); // true
await user.save(); // এখন collection-এ ঢুকলো
console.log(user.isNew); // false
console.log(user._id); // automatic ObjectIdশেষ প্যারায় নিজে practice করুন — কোড কপি করে নিজের এডিটরে চালিয়ে দেখুন।