واحد لواحد (One-to-One)
غالبًا بالتضمين:
{ name: "براء", profile: { bio: "مطوّر", avatar: "..." } }
واحد لكثير (One-to-Many)
- قليل: تضمين كمصفوفة.
{ name: "براء", phones: ["050...", "055..."] }
- كثير: إشارة من جهة "الكثير".
// posts
{ _id: 1, title: "مقال", authorId: 10 }
كثير لكثير (Many-to-Many)
احفظ مصفوفة معرّفات في أحد الطرفين (أو كليهما):
// students
{ _id: 1, name: "براء", courses: [101, 102] }
// courses
{ _id: 101, name: "Mongo" }
أو مجموعة وسيطة (enrollments) للعلاقات الكبيرة.
الربط عند القراءة
db.posts.aggregate([
{ $lookup: {
from: "users", localField: "authorId",
foreignField: "_id", as: "author"
} }
])
🎯 التالي: التحقّق من المخطّط.