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

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

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

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

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

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

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

सब कलेक्शन

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

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


    • astrophysics
      • ...

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

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

  • फ़ायदे: रूट-लेवल कलेक्शन, कई-से-कई रिलेशनशिप के लिए बेहतर होते हैं. साथ ही, हर कलेक्शन में क्वेरी करने की बेहतर सुविधाएं मिलती हैं.
  • सीमाएं: डेटाबेस बढ़ने पर, क्रम के हिसाब से व्यवस्थित डेटा पाना मुश्किल हो सकता है.
  • इसका इस्तेमाल कैसे किया जा सकता है? उदाहरण के लिए, उसी चैट ऐप्लिकेशन में, उपयोगकर्ताओं के लिए एक कलेक्शन और रूम और मैसेज के लिए दूसरा कलेक्शन बनाया जा सकता है.
  • 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 : "..."