पाठ 16 / 22

स्कीमा उदाहरण: ब्लॉग और कमेंट

ब्लॉग पोस्ट और उसके कमेंट को मॉडल करने के दो तरीके।

एम्बेडेड कमेंट

उन पोस्ट के लिए अच्छा जिनमें मुट्ठी भर कमेंट हों और हमेशा पोस्ट के साथ दिखाए जाते हों।

{
  _id: 1,
  title: "Intro to MongoDB",
  body: "...",
  comments: [
    { user: "bo", text: "Nice post!" },
    { user: "ivy", text: "Very clear." }
  ]
}

रेफ़रेंस्ड कमेंट

बेहतर तब जब किसी पोस्ट पर हज़ारों कमेंट जमा हो सकते हैं — हर कमेंट अपना डॉक्यूमेंट है जो पोस्ट को रेफ़रेंस करता है।

// posts collection
{ _id: 1, title: "Intro to MongoDB", body: "..." }

// comments collection
{ postId: 1, user: "bo", text: "Nice post!" }
{ postId: 1, user: "ivy", text: "Very clear." }

ट्रेड-ऑफ़ का सार

एम्बेडिंग का मतलब एक तेज़ रीड, पर डॉक्यूमेंट असीमित बढ़ सकता है। रेफ़रेंसिंग डॉक्यूमेंट छोटा रखती है पर डेटा जोड़ने के लिए दूसरी क्वेरी (या $lookup) चाहिए।