में सौ बच्चों पर जोड़े गए आइटमों को सुनें मेरे पास आईओएस मार्केटप्लेस ऐप है, जहां मैं उस बाजार पर बिक्री के लिए प्रत्येक आइटम पर बदलावों को सुन रहा हूं। अधिक सटीक, मैं सुन रहा हूं कि उस आइटम के बच्चे बदल जाते हैं या हटा दिए जाते हैं।फायरबेस
समस्या यह है कि मैं बच्चों के साथ जोड़े जाने पर भी सुनना चाहता हूं। जब फायरबेस पर एक बच्चा जोड़ा जाता है तो सुनने के बारे में अनोखी बात यह है कि जब आप पहली बार श्रोता सेट अप करते हैं तो आप उस नोड पर सभी भाई बहन प्राप्त करते हैं।
किसी आइटम पर बच्चे एक ही आइटम की सूचियां नहीं हैं, इसलिए मैं एक निश्चित टाइमस्टैम्प के बाद जोड़े गए बच्चों को नहीं सुन सकता। मैं something like this करने और उन शुरुआती बच्चों को अनदेखा करने के बारे में सोच रहा था। यह सिर्फ इतना बड़ा कचरा लगता है, क्योंकि मैं अनिवार्य रूप से फायरबेस से दो बार चीजें ला रहा हूं। एक बार FEventTypeValue
और FEventTypeChildAdded
के साथ।
जिन वस्तुओं को मैं सुनना चाहता हूं वह वे हैं जो फ़ीड में लोड हो रही हैं। यह संभवतः कुछ सौ वस्तुओं की संभावना होगी, लेकिन संभावित रूप से हजारों आइटम हो सकते हैं।
आप इस बारे में कैसे जाएंगे? क्या मुझे बस जोड़े गए बच्चों को सुनने के बारे में सब भूल जाना चाहिए या इसके लिए कोई सभ्य समाधान है?
संपादित करें (जोड़ा उदाहरण कोड):
तो यह है कि कैसे मैं Firebase पर किसी विशिष्ट आइटम के लिए डेटा लाने है।
var ref = new Firebase('https://<your-Firebase>.firebaseio.com');
ref.child('listings/-KB9ZqLZBEskoUihb-yR').once('value', function(snapshot) {
listing = snapshot.val();
});
और यहाँ मैं जब एक नया बच्चा है कि आइटम में जोड़ा जाता है के लिए सुनना चाहते हैं:
ref.child('listings/-KB9ZqLZBEskoUihb-yR').on('child_added', function(snapshot) {
listing[snapshot.key()] = snapshot.val()
});
जारी करना है कि आइटम को सुन उस नोड पर जोड़ा है को हासिल करेगा सभी बच्चे फिर से नोड और कहा कि लगता है एक विशाल अपशिष्ट की तरह। आप इस स्थिति से कैसे निपटेंगे?
यहां कोड और डेटा का वर्णन करने वाला बहुत अधिक टेक्स्ट है। कृपया वास्तविक कोड और JSON (पाठ के रूप में, कोई स्क्रीनशॉट) प्रदान करें जो उस स्थिति को पुन: उत्पन्न करता है जिसके बारे में आप पूछ रहे हैं। [एमसीवीई] देखें (http://stackoverflow.com/help/mcve)। –
'लिस्टिंग/-KB9ZqLZBEskoUihb-yR' एक विशिष्ट आइटम है? क्या * उस नोड के भीतर * जोड़े जा रहे हैं या आप * लिस्टिंग * नोड के साथ अन्य वस्तुओं को जोड़ने के लिए देख रहे हैं। कुछ फायरबेस संरचना वास्तव में हमें और शायद प्रश्न के कुछ स्पष्टीकरण में मदद करेगी। – Jay
'लिस्टिंग/-KB9ZqLZBEskoUihb-yR' एक विशिष्ट वस्तु है और मैं सुनना चाहता हूं कि जब बच्चे उस विशेष आइटम में जोड़े जाते हैं। –