MongoDB হলো একটা document database — একটা fixed table-এ row আর column-এর বদলে, এটা flexible, JSON-এর মতো document collection-এ গ্রুপ করে data সংরক্ষণ করে। এটা NoSQL পরিবারের সবচেয়ে ব্যবহৃত database, আর এটা স্বাভাবিকভাবেই JavaScript আর Node.js-এর সাথে খাপ খায়, কারণ একটা MongoDB document আর একটা JavaScript object প্রায় একই রকম আকৃতির।
একটা relational database-এ (এই সাইটের SQL কোর্স দেখুন), একটা table-এর প্রতিটা row-এর একই column থাকতে হবে। MongoDB-তে, প্রতিটা record — যাকে document বলা হয় — নিজের একটা স্বয়ংসম্পূর্ণ JSON-এর মতো object, আর একই collection-এর ভিন্ন document-এর ভিন্ন field থাকতে পারে:
{
_id: "651f2a...",
name: "Priya Nair",
role: "Frontend Developer",
skills: ["HTML", "CSS", "React"]
}আপনি যদি ইতিমধ্যে SQL জানেন, বেশিরভাগ concept-এর একটা সরাসরি MongoDB equivalent আছে — শব্দগুলো ভিন্ন, অন্তর্নিহিত ধারণা যথেষ্ট কাছাকাছি যে সেখান থেকে reason করা যায়।
| SQL term | MongoDB term |
|---|---|
| Database | Database |
| Table | Collection |
| Row | Document |
| Column | Field |
| Primary key | _id |
| JOIN | $lookup (aggregation stage) বা embedding |
MongoDB সাধারণত এমন data-র জন্য উপযুক্ত যা স্বাভাবিকভাবে nested বা প্রায়ই আকৃতি বদলায় — একটা arbitrary address list সহ user profile, একটা product catalog যেখানে ভিন্ন product type-এর ভিন্ন attribute আছে, একটা activity log যেখানে প্রতিটা event-এর ভিন্ন field আছে। যখন data অত্যন্ত structured আর table-এর মধ্যে relationship অনেক গুরুত্বপূর্ণ হয় তখন একটা relational database এখনও জিততে থাকে — accounting ledger, strict foreign key সহ inventory system, যেকোনো কিছু যেখানে আপনি SQL JOIN আর transaction-এর ওপর ভারী নির্ভর করবেন।
SQL-এর প্রতিস্থাপন না — একটা ভিন্ন টুল
কোনো database type-ই কঠোরভাবে "ভালো" না। Production system প্রায়ই উভয়ই ব্যবহার করে — structured, transactional data-র জন্য একটা relational database, আর flexible বা high-volume data-র জন্য MongoDB — SQL-এর একটা সম্পূর্ণ প্রতিস্থাপন হিসেবে না, use case অনুযায়ী বেছে নেওয়া।
এই কোর্স MongoDB install করা থেকে শুরু করে প্রতিটা core CRUD operation, schema design সিদ্ধান্ত, index, aggregation pipeline, আর শেষে official driver আর Mongoose উভয় ব্যবহার করে একটা real Node.js application MongoDB-র সাথে connect করা পর্যন্ত যায়।