collection و document ها در mongodb

  • مدرس : علی بیگدلی
  • تاریخ انتشار: 1403/12/28
  • تعداد بازدید: 26

پیوست های این درس:


در MongoDB، دو مفهوم اصلی document و collection وجود دارد که پایه‌ی داده‌های این پایگاه داده NoSQL را تشکیل می‌دهند:

۱. Document (سند)

Document یا سند یک واحد اصلی ذخیره‌سازی داده در MongoDB است. اسناد در قالب JSON یا BSON (Binary JSON) ذخیره می‌شوند. هر سند شامل مجموعه‌ای از کلید-مقدار (key-value pairs) است که می‌تواند انواع داده‌های مختلف مانند عدد، رشته، آرایه، شیء تو در تو و... را داشته باشد.

🔹 مثال یک سند در MongoDB:

{
    "_id": ObjectId("507f1f77bcf86cd799439011"),
    "name": "Ali",
    "age": 30,
    "skills": ["Python", "MongoDB"],
    "address": {
        "city": "Tehran",
        "zip": "12345"
    }
}
  • کلید _id: هر سند باید یک کلید _id منحصر به فرد داشته باشد که به صورت خودکار توسط MongoDB مقداردهی می‌شود (مگر اینکه مقدار آن را خودتان تنظیم کنید).
  • نوع داده‌ها: یک سند می‌تواند شامل انواع داده‌های مختلف مانند رشته (string)، عدد (number)، آرایه (array) و اشیای تو در تو (object) باشد.

 

۲. Collection (مجموعه)

Collection یا مجموعه در MongoDB معادل جدول (Table) در پایگاه داده‌های رابطه‌ای است. یک collection مجموعه‌ای از اسناد (documents) است که معمولاً دارای ساختاری مشابه اما غیرسخت‌گیرانه (schemaless) هستند، یعنی اسناد داخل یک مجموعه می‌توانند ساختار متفاوتی داشته باشند.

🔹 مثال یک Collection: در یک Collection به نام users ممکن است اسناد مختلفی به این شکل ذخیره شوند:

{
    "_id": ObjectId("507f1f77bcf86cd799439011"),
    "name": "Ali",
    "age": 30,
    "skills": ["Python", "MongoDB"]
}
{
    "_id": ObjectId("507f1f77bcf86cd799439012"),
    "name": "Sara",
    "email": "sara@example.com",
    "city": "Isfahan"
}
  • در پایگاه داده‌های رابطه‌ای، تمام ردیف‌های یک جدول باید دقیقاً همان ساختار را داشته باشند، اما در MongoDB، هر سند در یک Collection می‌تواند ساختار متفاوتی داشته باشد.

جمع‌بندی:

ویژگی Document (سند) Collection (مجموعه)
معنی یک رکورد از داده‌ها (معادل یک سطر در SQL) گروهی از اسناد (معادل یک جدول در SQL)
فرمت JSON/BSON شامل چندین سند JSON
انعطاف‌پذیری ساختار هر سند می‌تواند متفاوت باشد شامل اسنادی با ساختار مشابه اما نه الزاماً یکسان

 

🔹 MongoDB به دلیل انعطاف‌پذیری بالا و عدم نیاز به Schema ثابت برای داده‌ها، یک انتخاب عالی برای پروژه‌هایی است که داده‌های متغیری دارند.

ثبت دیدگاه


نکته: آدرس ایمیل شما منتشر نخواهد شد

دیدگاه کاربران (0)


هیچ دیدگاهی ثبت نشده است می توانید اولین نفر باشید