Documents و BSON (Documents & BSON)
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 یکتا دارد!
آماده رفتن به درس بعدی هستید؟
این درس را به پایان رساندید و میتوانید به درس بعدی بروید.