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

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

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

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

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

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

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

सब-कलेक्शन

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

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


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

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

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

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