पाठ 16 / 23
स्कीमा उदाहरण: ब्लॉग और कमेंट
Blog post और comments को दोनों तरीकों से model करें और embedded व referenced designs के trade-offs देखें।
एम्बेडेड कमेंट
उन पोस्ट के लिए अच्छा जिनमें मुट्ठी भर कमेंट हों और हमेशा पोस्ट के साथ दिखाए जाते हों।
{
_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) चाहिए।