मेरे पास एक ऐसा एप्लिकेशन है जिसमें मैं कुछ प्रारंभिक डेटा लोड करना चाहता हूं (Firebase.once('value')
के साथ पूरा किया गया) और फिर कुछ बिंदु बाद मैं जोड़े गए नोड्स की घटनाएं प्राप्त करना चाहता हूं उस फायरबेस संदर्भ के लिए।फायरबेस बच्चों के सभी डेटा को लोड किए बिना बच्चे को पहले से दबाएं
इसके लिए, मैं Firebase.on('child_added')
का उपयोग करना चाहता हूं, लेकिन परिभाषा (और अभ्यास में देखा गया) के अनुसार यह पहले उस फायरबेस संदर्भ में सभी डेटा लोड करता है।
क्या इस व्यवहार को पाने के लिए कोई तरीका है और केवल child_added
घटनाओं के लिए सुनें। इसके अलावा, डेटा के शुरुआती सेट को डंप करने जैसे कामकाज समाधान नहीं हैं (एक लाख से अधिक डेटा पॉइंट्स वाले डेटासेट की कल्पना करें - मैं प्रत्येक डेटा पॉइंट को सिर्फ तब नहीं सुनना चाहता जब कोई जोड़ा जाए!)।
संपादित करें: Firebase.on('child_added')
प्रारंभिक अनुरोध से आने वाले डेटा की मात्रा को सीमित करने के लिए limit()
के साथ जोड़ा जा सकता है। मेरे आवेदन के लिए संभवतः, एक बिंदु पर फायरबेस में केवल एक डेटा पॉइंट जोड़ा जाएगा, इसलिए मैंने Firebase.limit(1).on('child_added')
का उपयोग किया है जो एक डेटा बिंदु पर लोड किए गए प्रारंभिक डेटा की मात्रा को सीमित करता है। लेकिन, मुझे इस कारण को दो कारणों से पसंद नहीं है:
- यह अभी भी एक कामकाज है। मुझे अभी भी डेटा को अनदेखा करना है कि मुझे अनदेखा करने की चिंता करने की ज़रूरत नहीं है।
- अगर किसी कारण से मेरे आवेदन की प्रकृति बदलनी पड़ी और मैं एक बार में फायरबेस संदर्भ में कई बच्चों को जोड़ना चाहता था -
limit(1)
लागू करने से आवेदन को सभी अतिरिक्त बच्चों को प्राप्त करने से सीमित कर दिया जाएगा? मुझे यकीन नहीं है कि यह मामला है याchild_added
प्रत्येक बच्चे को जोड़ा जाएगा, भले ही उन्हें बैच के रूप में जोड़ा गया हो।
यह कॉल करने के लिए एक तर्क के लिए एक अच्छा समाधान होगा के रूप में एक true/false
ध्वज प्रदान की तरह लगता है, लेकिन मैं एक जवाब मैं glossing किया गया है हो, तो देखने के लिए इंतजार करेंगे ...
आप प्रत्येक डेटासेट में सृजन टाइमस्टैम्प जोड़ सकते हैं और वर्तमान टाइमस्टैम्प का उपयोग 'स्टार्टएट' क्वेरी के रूप में कर सकते हैं https://www.firebase.com/docs/ordered-data.html https://www.firebase.com/docs /javascript/query/startat.html – Prinzhorn
यह वर्तमान में संरचित किए जाने के तरीके के साथ अच्छी तरह से काम करेगा - डेटा की "कुंजी" (एक कुंजी में: वैल प्रारूप) डेटा का टाइमस्टैम्प है। जानकारी के लिए धन्यवाद! – MandM