دوره‌ها / MongoDB / Documents و BSON (Documents & BSON)

Documents و BSON (Documents & BSON)

15 دقیقه Article

Documents و BSON: ساختار داده در MongoDB 📄

Documents واحد اصلی داده در MongoDB هستند. آن‌ها شبیه به JSON هستند اما به صورت BSON (Binary JSON) ذخیره می‌شوند.

Document چیست؟

یک Document یک جفت key-value است که شبیه به یک object در JavaScript یا dictionary در Python است:

// یک Document ساده
{
  name: "Ali",
  age: 25,
  email: "ali@example.com"
}

// یک Document پیچیده‌تر
{
  _id: ObjectId("507f1f77bcf86cd799439011"),
  name: "Sara",
  age: 30,
  address: {
    street: "123 Main St",
    city: "Tehran",
    zipcode: "12345"
  },
  hobbies: ["reading", "coding", "music"],
  isActive: true,
  createdAt: ISODate("2023-01-15T10:30:00Z")
}

BSON چیست؟

BSON (Binary JSON) فرمت باینری MongoDB است که برای ذخیره documents استفاده می‌شود:

  • JSON: فرمت متنی که انسان می‌تواند بخواند
  • BSON: فرمت باینری که MongoDB استفاده می‌کند

مزایای BSON:

  • سریع‌تر از JSON برای parsing
  • پشتیبانی از data types بیشتر (مثل Date، ObjectId)
  • بهینه‌تر برای ذخیره‌سازی

_id Field:

هر document در MongoDB یک فیلد _id دارد که به عنوان primary key عمل می‌کند:

// اگر _id را مشخص نکنید، MongoDB خودش یک ObjectId می‌سازد
db.users.insertOne({
  name: "Ali"
})
// نتیجه: {{ _id: ObjectId("..."), name: "Ali" }}

// می‌توانید _id را خودتان مشخص کنید
db.users.insertOne({
  _id: "user001",
  name: "Ali"
})
💡 نکته: ObjectId یک شناسه یکتا 12-byte است که شامل timestamp، machine identifier، process ID و counter است. این باعث می‌شود ObjectId ها در تمام سرورها یکتا باشند.
✅ یاد گرفتید: Documents در MongoDB شبیه JSON هستند اما به صورت BSON ذخیره می‌شوند و هر document یک _id یکتا دارد!

آماده رفتن به درس بعدی هستید؟

این درس را به پایان رساندید و می‌توانید به درس بعدی بروید.

برای ذخیره پیشرفت وارد شوید