Ich habe eine iOS-Marktplatz-App, in der ich nach Änderungen für jeden Artikel lese, der auf diesem Marktplatz zum Verkauf steht. Genauer gesagt, ich höre, ob sich Kinder auf diesem Gegenstand ändern oder entfernt werden.Hören Sie sich die Artikel an, die auf hundert Kindern in Firebase hinzugefügt wurden.
Problem ist, dass ich darauf achten möchte, wenn auch Kinder hinzugefügt werden. Das Besondere beim Anhören, wenn ein Kind in Firebase hinzugefügt wird, ist, dass Sie alle Geschwister auf diesem Knoten erhalten, wenn Sie den Listener zum ersten Mal einrichten.
Die Kinder auf einem Gegenstand sind keine Listen des gleichen Gegenstandes, also kann ich nicht nach Kindern hören, die nach einem bestimmten Zeitstempel hinzugefügt wurden. Ich dachte darüber nach, something like this zu tun und diese anfänglichen Kinder zu ignorieren. Es scheint einfach so eine große Verschwendung zu sein, da ich die Dinge im Grunde genommen zweimal von Firebase abhole. Einmal mit FEventTypeValue
und einmal mit FEventTypeChildAdded
.
Die Elemente, auf die ich achten möchte, sind die Elemente, die in den Feed geladen werden. Es wäre höchstwahrscheinlich ein paar hundert Gegenstände, könnte aber möglicherweise Tausende von Gegenständen sein.
Wie würden Sie darüber gehen? Sollte ich einfach vergessen, auf zusätzliche Kinder zu hören, oder gibt es dafür eine vernünftige Lösung?
Edit (hinzugefügt Beispielcode):
Also das ist, wie ich die Daten für einen bestimmten Punkt auf Firebase holen.
var ref = new Firebase('https://<your-Firebase>.firebaseio.com');
ref.child('listings/-KB9ZqLZBEskoUihb-yR').once('value', function(snapshot) {
listing = snapshot.val();
});
Und hier möchte ich hören, wenn ein neues Kind zu diesem Element hinzugefügt wird:
ref.child('listings/-KB9ZqLZBEskoUihb-yR').on('child_added', function(snapshot) {
listing[snapshot.key()] = snapshot.val()
});
Problem, das auf diesem Knoten, um Elemente zu hören ist hinzugefügt holt die alle untergeordneten Knoten wieder und das scheint wie eine riesige Verschwendung. Wie würdest du mit dieser Situation umgehen?
Es gibt zu viel Text, der hier Code und Daten beschreibt. Bitte geben Sie den tatsächlichen Code und JSON (als Text, kein Screenshot) an, der die von Ihnen gewünschte Situation reproduziert. Siehe [MCVE] (http://stackoverflow.com/help/mcve). –
Ist 'listings/-KB9ZqLZBEskoUihb-yR' ein bestimmter Artikel? Werden innerhalb dieses Knotens * Kinder hinzugefügt oder suchen Sie nach anderen Elementen, die mit dem Knoten * listings * hinzugefügt werden sollen. Irgendeine Firebase Struktur würde uns wirklich helfen und vielleicht ein bisschen Klärung der Frage. – Jay
'Listings/-KB9ZqLZBEskoUihb-yR' ist ein bestimmtes Element und ich möchte darauf achten, wenn Kinder zu diesem bestimmten Element hinzugefügt wird. –