MongoDB2 دقیقه مطالعه
NoSQL و MongoDB چیست؟
MongoDB داده را بهصورت سند JSON بدون Schema ثابت ذخیره میکند، برخلاف جداول رابطهای SQL Server.
چرا مهم است؟
در آگهیهای Full-Stack/Backend بهعنوان مکمل SQL Server خواسته میشود، مخصوصاً برای دادههای نیمهساختیافته یا مقیاس بالا.
تفاوت با پایگاهدادهٔ رابطهای
| SQL Server | MongoDB | |
|---|---|---|
| واحد ذخیره | ردیف در جدول با Schema ثابت | سند JSON بدون Schema اجباری |
| رابطه | Join بین جداول | معمولاً Embed یا Reference دستی |
| مقیاسپذیری | عمودی (Scale-up) | افقی (Scale-out) سادهتر |
| تراکنش | ACID کامل و رایج | از نسخهٔ ۴ به بعد ACID محدود پشتیبانی میشود |
نمونه کد با MongoDB.Driver در C#
var client = new MongoClient("mongodb://localhost:27017");
var db = client.GetDatabase("shop");
var products = db.GetCollection<Product>("products");
await products.InsertOneAsync(new Product { Name = "Laptop", Price = 1200 });
var cheap = await products.Find(p => p.Price < 500).ToListAsync();
چه زمانی MongoDB مناسبتر است
- داده با ساختار متغیر/نیمهساختیافته (مثلاً لاگها، محتوای JSON پویا).
- نیاز به مقیاسپذیری افقی سریع روی حجم بسیار بالای داده.
اشتباه رایج
❌ استفاده از MongoDB برای دادهای که ذاتاً رابطهای و نیازمند تراکنشهای پیچیدهٔ چندجدولی است (مثل حسابداری بانکی). ✅ برای دادههای رابطهای با قواعد یکپارچگی سختگیرانه، SQL Server/PostgreSQL انتخاب امنتری است.
خلاصه
MongoDB داده را بهصورت سند بدون Schema ثابت ذخیره میکند؛ مقیاسپذیری افقی آن از SQL Server سادهتر است؛ برای دادههای رابطهای با تراکنشهای پیچیده همچنان SQL انتخاب بهتری است.
حالا امتحان کن
🧩آزمون مبانی NoSQL و MongoDB3 سؤال · نمره قبولی 60٪این مطلب مفید بود؟
☆نشان کردن