कोई डेटा स्ट्रक्चर चुनें

याद रखें कि Cloud Firestore में डेटा को स्ट्रक्चर करते समय, आपके पास कुछ अलग विकल्प होते हैं:

  • दस्तावेज़
  • एक से ज़्यादा कलेक्शन
  • दस्तावेज़ों में मौजूद सब-कलेक्शन

अपने इस्तेमाल के उदाहरण के हिसाब से, हर विकल्प के फ़ायदों पर विचार करें. इस गाइड में, क्रम के हिसाब से डेटा के कुछ उदाहरण दिए गए हैं.

दस्तावेज़ों में नेस्ट किया गया डेटा

दस्तावेज़ों में, कलेक्शन या मैप जैसे जटिल ऑब्जेक्ट नेस्ट किए जा सकते हैं.

  • फ़ायदे: अगर आपके पास डेटा की ऐसी सामान्य और तय सूचियां हैं जिन्हें आपको अपने दस्तावेज़ों में रखना है, तो इसे सेट अप करना आसान है. साथ ही, इससे आपके डेटा स्ट्रक्चर को व्यवस्थित करने में मदद मिलती है.
  • सीमाएं: इसे अन्य विकल्पों की तरह आसानी से स्केल नहीं किया जा सकता. खास तौर पर, तब जब समय के साथ आपका डेटा बढ़ता जाए. सूचियों के बड़े होने या बढ़ने पर, दस्तावेज़ भी बड़ा हो जाता है. इससे दस्तावेज़ को वापस पाने में ज़्यादा समय लग सकता है.
  • इसका इस्तेमाल कैसे किया जा सकता है? उदाहरण के लिए, चैट ऐप्लिकेशन में, किसी उपयोगकर्ता की प्रोफ़ाइल में नेस्ट की गई सूची के तौर पर, उसके हाल ही में विज़िट किए गए तीन चैट रूम सेव किए जा सकते हैं.
  • alovelace
    •     name :
            first : "Ada"
            last : "Lovelace"
          born : 1815
          rooms :
            0 : "Software Chat"
            1 : "Famous Figures"
            2 : "Famous SWEs"

सब-कलेक्शन

अगर आपके पास ऐसा डेटा है जो समय के साथ बढ़ सकता है, तो दस्तावेज़ों में कलेक्शन बनाए जा सकते हैं.

  • फ़ायदे: सूचियों की संख्या बढ़ने पर भी, पैरंट दस्तावेज़ का साइज़ नहीं बदलता. आपको सब-कलेक्शन पर क्वेरी करने की पूरी सुविधाएं भी मिलती हैं. साथ ही, सब-कलेक्शन में कलेक्शन ग्रुप क्वेरी जारी की जा सकती हैं.
  • सीमाएं: सब-कलेक्शन को आसानी से नहीं मिटाया जा सकता.
  • इसका इस्तेमाल कैसे किया जा सकता है? उदाहरण के लिए, एक ही चैट ऐप्लिकेशन में, चैट रूम के दस्तावेज़ों में उपयोगकर्ताओं या मैसेज के कलेक्शन बनाए जा सकते हैं.
  • विज्ञान
    • सॉफ़्टवेयर
        name : "सॉफ़्टवेयर चैट"
      • उपयोगकर्ता
        • alovelace
              first : "Ada"
              last : "Lovelace"
        • sride
              first : "Sally"
              last : "Ride"`


    • एस्ट्रोफ़िज़िक्स
      • ...

रूट-लेवल कलेक्शन

अलग-अलग डेटा सेट को व्यवस्थित करने के लिए, अपने डेटाबेस के रूट लेवल पर कलेक्शन बनाएं.

  • फ़ायदे: रूट-लेवल कलेक्शन, मेनी-टू-मेनी रिलेशनशिप के लिए अच्छे होते हैं. साथ ही, इनसे हर कलेक्शन में बेहतर तरीके से क्वेरी की जा सकती है.
  • सीमाएं: डेटाबेस बढ़ने के साथ-साथ, नैचुरल तरीके से हैरारकी में मौजूद डेटा को हासिल करना मुश्किल हो सकता है.
  • इसका इस्तेमाल कैसे किया जा सकता है? उदाहरण के लिए, एक ही चैट ऐप्लिकेशन में उपयोगकर्ताओं के लिए एक कलेक्शन और रूम और मैसेज के लिए दूसरा कलेक्शन बनाया जा सकता है.
  • उपयोगकर्ता
    • alovelace
          first : "Ada"
          last : "Lovelace"
          born : 1815
    • sride
          first : "Sally"
          last : "Ride"
          born : 1951
  • कमरे
    • सॉफ़्टवेयर
      • मैसेज
        • message1
              from : "alovelace"
              content : "..."
        • message2
              from : "sride"
              content : "..."