DataSnapshot
में, डेटाबेस की जगह का डेटा होता है.
जब भी डेटाबेस से डेटा पढ़ा जाता है, तब आपको DataSnapshot
के तौर पर डेटा मिलता है. on()
या once()
के साथ अटैच किए गए इवेंट कॉलबैक में, DataSnapshot
पास किया जाता है. स्नैपशॉट के कॉन्टेंट को JavaScript ऑब्जेक्ट के तौर पर एक्सट्रैक्ट किया जा सकता है. इसके लिए, val()
तरीके को कॉल करें. इसके अलावा, child()
को कॉल करके स्नैपशॉट को देखा जा सकता है. इससे चाइल्ड स्नैपशॉट देखा जा सकता है. इसके बाद, इसे val()
का नाम दिया जा सकता है.
DataSnapshot
, किसी डेटाबेस लोकेशन पर डेटा की बेहतर तरीके से जनरेट की गई ऐसी कॉपी होती है जिसमें बदलाव नहीं किया जा सकता. इस डेटा में बदलाव नहीं किया जा सकता और न ही यह बदलेगा. डेटा में बदलाव करने के लिए, हमेशा set()
तरीके को सीधे Reference
पर कॉल करें.
हस्ताक्षर:
export declare class DataSnapshot
प्रॉपर्टी
प्रॉपर्टी | मॉडिफ़ायर | टाइप | ब्यौरा |
---|---|---|---|
कुंजी | स्ट्रिंग | शून्य | इस DataSnapshot की जगह की कुंजी (पाथ का आखिरी हिस्सा).किसी डेटाबेस की जगह में मौजूद आखिरी टोकन को उसकी कुंजी माना जाता है. उदाहरण के लिए, "ada" /users/ada/ नोड के लिए, कुंजी ज़रूरी है. किसी भी DataSnapshot पर कुंजी ऐक्सेस करने पर, उस जगह की कुंजी दिखेगी जहां से इसे जनरेट किया गया था. हालांकि, किसी डेटाबेस के रूट यूआरएल पर कुंजी ऐक्सेस करने से null नतीजा मिलेगा. |
|
प्राथमिकता | स्ट्रिंग | नंबर | शून्य | इस DataSnapshot में डेटा की प्राथमिकता वैल्यू मिलती है.ऐप्लिकेशन को प्राथमिकता के आधार पर इस्तेमाल करने की ज़रूरत नहीं है. हालांकि, वे सामान्य प्रॉपर्टी के हिसाब से कलेक्शन को क्रम में लगा सकते हैं. (डेटा को क्रम से लगाना और फ़िल्टर करना देखें). |
|
रेफ़रंस | DatabaseReference | इस DataSnapshot की जगह. | |
size | नंबर | इस DataSnapshot की चाइल्ड प्रॉपर्टी की संख्या दिखाता है. |
तरीके
तरीका | मॉडिफ़ायर | ब्यौरा |
---|---|---|
चाइल्ड(पाथ) | तय किए गए मिलते-जुलते पाथ पर जगह के लिए एक और DataSnapshot फ़ेच करता है.DataSnapshot के child() तरीके से मिलता-जुलता पाथ पास करने पर, तय किए गए मिलते-जुलते पाथ पर जगह के लिए एक और DataSnapshot मिलता है. रिलेटिव पाथ या तो कोई आसान चाइल्ड नाम (उदाहरण के लिए, "ada") या स्लैश से अलग किया गया पाथ हो सकता है (उदाहरण के लिए, "ada/name/first"). अगर चाइल्ड स्थान में कोई डेटा नहीं है, तो एक खाली DataSnapshot (यानी, एक DataSnapshot जिसका मान null है) लौटाया जाता है. |
|
मौजूद है() | अगर इस DataSnapshot में कोई डेटा है, तो 'सही' दिखाता है. यह snapshot.val() !== null के इस्तेमाल के मुकाबले थोड़ा ज़्यादा कारगर है. |
|
exportVal() | DataSnapshot के पूरे कॉन्टेंट को JavaScript ऑब्जेक्ट के तौर पर एक्सपोर्ट करता है.यह exportVal() तरीका val() जैसा ही है. हालांकि, इसमें प्राथमिकता वाली जानकारी शामिल की जाती है (अगर उपलब्ध हो), ताकि इसे आपके डेटा का बैक अप लेने के लिए सही बनाया जा सके. |
|
हर कार्रवाई के लिए | यह फ़ंक्शन IteratedDataSnapshot में टॉप-लेवल के बच्चों की गिनती करता है.JavaScript ऑब्जेक्ट के काम करने के तरीके की वजह से, val() से मिले JavaScript ऑब्जेक्ट में डेटा के क्रम का, सर्वर के क्रम या onChildAdded() इवेंट के क्रम से मेल खाना ज़रूरी नहीं है. ऐसी ही स्थिति में forEach() काम आता है. यह गारंटी देता है कि DataSnapshot के चिल्ड्रन उनके क्वेरी क्रम में दोहराए जाएंगे.अगर किसी orderBy*() तरीके का साफ़ तौर पर इस्तेमाल नहीं किया गया है, तो नतीजे कुंजी के हिसाब से क्रम में दिखाए जाते हैं (जब तक प्राथमिकता इस्तेमाल न की गई हों, इस मामले में, नतीजे प्राथमिकता के हिसाब से दिए जाते हैं). |
|
hasChild(पाथ) | तय किए गए चाइल्ड पाथ में (शून्य नहीं) डेटा होने पर 'सही' दिखाता है. | |
hasChildren() | यह दिखाता है कि DataSnapshot में null से अलग कोई चाइल्ड प्रॉपर्टी है या नहीं.hasChildren() का इस्तेमाल करके यह पता लगाया जा सकता है कि DataSnapshot में कोई चाइल्ड प्रॉपर्टी है या नहीं. अगर ऐसा है, तो forEach() का इस्तेमाल करके उनकी गिनती की जा सकती है. अगर ऐसा नहीं है, तो या तो इस स्नैपशॉट में एक प्रिमिटिव वैल्यू होती है (जिसे val() के ज़रिए फिर से हासिल किया जा सकता है) या यह खाली है (इस स्थिति में, val() , null दिखाएगा). |
|
toJSON() | यह फ़ंक्शन इस ऑब्जेक्ट को JSON के क्रम में लगाकर दिखाया जाता है. | |
वैल() | DataSnapshot से JavaScript वैल्यू एक्सट्रैक्ट करता है.DataSnapshot में मौजूद डेटा के आधार पर, val() तरीका एक स्केलर टाइप (स्ट्रिंग, संख्या या बूलियन), कोई अरे या ऑब्जेक्ट दिखा सकता है. इसके अलावा, यह भी पता चलता है कि DataSnapshot खाली है (इसमें कोई डेटा नहीं है). |
DataSnapshot.key
इस DataSnapshot
की जगह की कुंजी (पाथ का आखिरी हिस्सा).
डेटाबेस की जगह के आखिरी टोकन को उसकी कुंजी माना जाता है. उदाहरण के लिए, "ada" /users/ada/ नोड के लिए, कुंजी ज़रूरी है. किसी भी DataSnapshot
पर कुंजी ऐक्सेस करने पर, उस जगह की कुंजी दिखेगी जहां से इसे जनरेट किया गया था. हालांकि, किसी डेटाबेस के रूट यूआरएल की कुंजी ऐक्सेस करने पर null
दिखेगा.
हस्ताक्षर:
get key(): string | null;
DataSnapshot.priority
इस DataSnapshot
में डेटा की प्राथमिकता वैल्यू मिलती है.
ऐप्लिकेशन को प्राथमिकता देने की ज़रूरत नहीं है, लेकिन वे सामान्य प्रॉपर्टी के हिसाब से कलेक्शन को क्रम से लगा सकते हैं. (डेटा को क्रम से लगाना और फ़िल्टर करना देखें).
हस्ताक्षर:
get priority(): string | number | null;
DataSnapshot.ref
इस DataSnapshot की जगह.
हस्ताक्षर:
readonly ref: DatabaseReference;
DataSnapshot.size
इस DataSnapshot
की चाइल्ड प्रॉपर्टी की संख्या दिखाता है.
हस्ताक्षर:
get size(): number;
DataSnapshot.child()
तय किए गए रिलेटिव पाथ पर, जगह के लिए एक और DataSnapshot
फ़ेच करता है.
DataSnapshot के child()
तरीके का रिलेटिव पाथ पास करने पर, तय किए गए रिलेटिव पाथ पर जगह के लिए एक और DataSnapshot
मिलता है. रिलेटिव पाथ या तो कोई आसान चाइल्ड नाम (उदाहरण के लिए, "ada") या स्लैश से अलग किया गया पाथ हो सकता है (उदाहरण के लिए, "ada/name/first"). अगर चाइल्ड लोकेशन में कोई डेटा नहीं है, तो एक खाली DataSnapshot
(यानी, DataSnapshot
जिसका वैल्यू null
है) दिखाता है.
हस्ताक्षर:
child(path: string): DataSnapshot;
पैरामीटर
पैरामीटर | टाइप | ब्यौरा |
---|---|---|
पाथ | स्ट्रिंग | चाइल्ड डेटा की जगह का मिलता-जुलता पाथ. |
लौटाए जाने वाले प्रॉडक्ट:
DataSnapshot.exists()
अगर इस DataSnapshot
में कोई डेटा है, तो 'सही' दिखाता है. यह snapshot.val() !== null
के इस्तेमाल के मुकाबले थोड़ा ज़्यादा कारगर है.
हस्ताक्षर:
exists(): boolean;
लौटाए जाने वाले प्रॉडक्ट:
बूलियन
DataSnapshot.exportVal()
DataSnapshot के पूरे कॉन्टेंट को JavaScript ऑब्जेक्ट के तौर पर एक्सपोर्ट करता है.
exportVal()
तरीका, val()
से मिलता-जुलता है. हालांकि, इसमें प्राथमिकता वाली जानकारी को शामिल किया जाता है (अगर उपलब्ध हो), इसलिए इसे आपके डेटा का बैक अप लेने के लिए सही बनाया जाता है.
हस्ताक्षर:
exportVal(): any;
लौटाए जाने वाले प्रॉडक्ट:
कोई भी
DataSnapshot का कॉन्टेंट, JavaScript की वैल्यू (ऑब्जेक्ट, कलेक्शन, स्ट्रिंग, नंबर, बूलियन या null
) के तौर पर.
DataSnapshot.foreach()
IteratedDataSnapshot
में टॉप-लेवल चिल्ड्रन की गिनती करता है.
JavaScript ऑब्जेक्ट के काम करने के तरीके की वजह से, val()
से लौटाए गए JavaScript ऑब्जेक्ट में डेटा के क्रम का, सर्वर के क्रम और onChildAdded()
इवेंट के क्रम से मेल खाने की गारंटी नहीं होती. ऐसी ही स्थिति में forEach()
काम आता है. यह गारंटी देता है कि किसी DataSnapshot
के चाइल्ड को उनके क्वेरी क्रम में दोहराया जाएगा.
अगर किसी orderBy*()
तरीके का इस्तेमाल नहीं किया जाता है, तो नतीजे, कुंजी के हिसाब से क्रम में दिखाए जाते हैं (जब तक प्राथमिकताओं का इस्तेमाल न किया जाता हो. ऐसे मामले में, नतीजे प्राथमिकता के हिसाब से दिखाए जाते हैं).
हस्ताक्षर:
forEach(action: (child: IteratedDataSnapshot) => boolean | void): boolean;
पैरामीटर
पैरामीटर | टाइप | ब्यौरा |
---|---|---|
कार्रवाई | (बच्चा: IteratedDataSnapshot) => बूलियन | अमान्य | एक फ़ंक्शन, जिसे हर चाइल्ड DataSnapshot के लिए कॉल किया जाएगा. आगे की गिनती रद्द करने के लिए, कॉलबैक 'सही' दिखा सकता है. |
लौटाए जाने वाले प्रॉडक्ट:
बूलियन
'सही' होगा.
DataSnapshot.hasChild()
तय किए गए चाइल्ड पाथ में (शून्य नहीं) डेटा होने पर 'सही' दिखाता है.
हस्ताक्षर:
hasChild(path: string): boolean;
पैरामीटर
पैरामीटर | टाइप | ब्यौरा |
---|---|---|
पाथ | स्ट्रिंग | संभावित बच्चे की जगह का मिलता-जुलता पाथ. |
लौटाए जाने वाले प्रॉडक्ट:
बूलियन
true
अगर बताए गए चाइल्ड पाथ पर डेटा मौजूद है; अन्य false
.
DataSnapshot.hasChildren()
यह दिखाता है कि DataSnapshot
में null
से बाहर की कोई चाइल्ड प्रॉपर्टी है या नहीं.
hasChildren()
का इस्तेमाल करके, यह पता लगाया जा सकता है कि DataSnapshot
का कोई बच्चा है या नहीं. अगर ऐसा है, तो forEach()
का इस्तेमाल करके उनकी गिनती की जा सकती है. अगर ऐसा नहीं है, तो या तो इस स्नैपशॉट में एक प्रिमिटिव वैल्यू होती है (जिसे val()
की मदद से फिर से हासिल किया जा सकता है) या यह खाली है (इस स्थिति में, val()
, null
दिखाएगा).
हस्ताक्षर:
hasChildren(): boolean;
लौटाए जाने वाले प्रॉडक्ट:
बूलियन
अगर इस स्नैपशॉट में कोई चाइल्ड है, तो सही है; अन्य गलत.
DataSnapshot.toJSON()
यह फ़ंक्शन इस ऑब्जेक्ट को JSON के क्रम में लगाकर दिखाया जाता है.
हस्ताक्षर:
toJSON(): object | null;
लौटाए जाने वाले प्रॉडक्ट:
ऑब्जेक्ट | शून्य
DataSnapshot.val()
DataSnapshot
से JavaScript वैल्यू एक्सट्रैक्ट करता है.
DataSnapshot
के डेटा के आधार पर, val()
तरीका एक अदिश टाइप (स्ट्रिंग, संख्या या बूलियन), कोई अरे या ऑब्जेक्ट दिखा सकता है. इसके अलावा, यह भी पता चलता है कि DataSnapshot
खाली है (इसमें कोई डेटा नहीं है).
हस्ताक्षर:
val(): any;
लौटाए जाने वाले प्रॉडक्ट:
कोई भी
DataSnapshot का कॉन्टेंट, JavaScript की वैल्यू (ऑब्जेक्ट, कलेक्शन, स्ट्रिंग, नंबर, बूलियन या null
) के तौर पर.