التضمين (Embedding)
ضع البيانات المرتبطة داخل نفس المستند:
{
name: "براء",
address: {
city: "الرياض",
zip: "12345"
},
orders: [
{ product: "كتاب", price: 50 }
]
}
مناسب لـ: علاقة "يملك" (one-to-few)، بيانات تُقرأ معًا دائمًا.
الإشارة (Referencing)
احفظ معرّف المستند الآخر:
// users
{ _id: 1, name: "براء" }
// orders
{ _id: 100, userId: 1, total: 50 }
ثم اربطهما بـ $lookup.
مناسب لـ: علاقة one-to-many كبيرة، بيانات مشتركة بين كثيرين، تتغيّر باستقلال.
القاعدة
| الحالة | الأسلوب |
|---|---|
| بيانات تُقرأ معًا، عدد محدود | تضمين |
| بيانات كبيرة/متنامية/مشتركة | إشارة |
💡 "البيانات التي يُوصَل إليها معًا، تُخزَّن معًا" — مبدأ تصميم MongoDB.
🎯 التالي: العلاقات.