MongoDB
 sql >> डेटाबेस >  >> NoSQL >> MongoDB

दस्तावेज़ डेटाबेस में विरासत?

मुझे पता है कि यह उत्तर थोड़ा देर से है, लेकिन MongoDB के लिए, आप शायद कुछ अलग देख रहे हैं।

मोंगो बिना योजना के है, इसलिए "tablePerHierarchy" की अवधारणा आवश्यक रूप से उपयोगी नहीं है।

निम्नलिखित मान लें

class A
  property X
  property Y
  property Z

class B inherits from A
  property W

RDMS में शायद आपके पास कुछ ऐसा होगा

table A: columns X, Y, Z
table B: columns X, Y, Z, W

लेकिन मोंगोडीबी में स्कीमा नहीं है। तो आपको इस तरह से डेटा की संरचना करने की आवश्यकता नहीं है। इसके बजाय, आपके पास A या B (या C...) प्रकार के सभी ऑब्जेक्ट (या "दस्तावेज़") वाला एक "संग्रह" होगा।

तो आपका संग्रह इस तरह की वस्तुओं की एक श्रृंखला होगी:

{"_id":"1", "X":1, "Y":2, "Z":3}
{"_id":"2", "X":5, "Y":6, "Z":7, "W":6}

आप देखेंगे कि मैं टाइप ए की वस्तुओं को टाइप बी की वस्तुओं के बगल में संग्रहीत कर रहा हूं। मोंगोडीबी इसे बहुत आसान बनाता है। बस संग्रह से एक दस्तावेज़ खींचे और इसमें "जादुई रूप से" सभी उपयुक्त फ़ील्ड/गुण हैं।

हालाँकि, यदि आपके पास "डेटा ऑब्जेक्ट" या "इकाइयाँ" हैं, तो आप एक प्रकार जोड़कर अपने जीवन को आसान बना सकते हैं।

{"_id":"1", "type":"A", "X":1, "Y":2, "Z":3}
{"_id":"2", "type":"B", "X":5, "Y":6, "Z":7, "W":6}

इससे आपकी वस्तुओं को लोड करने के लिए फ़ैक्टरी क्लास लिखना आसान हो जाता है।



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. पायथन में मोंगोडब बल्क इंसर्ट लिमिट

  2. क्या मुझे स्पष्ट रूप से कनेक्शन बंद करने की आवश्यकता है?

  3. कर्सर.ऑब्जर्व कैसे काम करता है और एक से अधिक इंस्टेंस चलने से कैसे बचें?

  4. जावा स्पार्क स्पार्कसेशन को कैसे कॉन्फ़िगर करें नमूना आकार

  5. MongoDB जावा में डालने की विफलता को संभालता है