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

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

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

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

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

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

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

सब-कलेक्शन

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

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


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

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

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

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