Ho un'app di mercato iOS, dove sto ascoltando le modifiche su ciascun articolo che è in vendita su quel mercato. Più precisamente, sto ascoltando se i bambini su quell'articolo cambiano o vengono rimossi.Ascolta gli elementi aggiunti su centinaia di bambini in Firebase
Il problema è che voglio ascoltare quando vengono aggiunti anche i bambini. La particolarità dell'ascolto di quando un bambino viene aggiunto su Firebase è che ottieni tutti i fratelli su quel nodo quando si imposta per la prima volta il listener.
I bambini su un elemento non sono elenchi dello stesso elemento, quindi non riesco ad ascoltare i bambini aggiunti dopo un determinato timestamp. Stavo pensando di fare something like this e ignorare quei bambini iniziali. Sembra un così grande spreco, dal momento che essenzialmente sto recuperando le cose da Firebase due volte. Una volta con FEventTypeValue
e una volta con FEventTypeChildAdded
.
Gli elementi che voglio ascoltare sono gli elementi che vengono caricati nel feed. Molto probabilmente sarà un paio di centinaia di articoli, ma potrebbe potenzialmente contenere migliaia di articoli.
Come andresti su questo? Dovrei semplicemente dimenticare tutto dell'ascolto per i bambini aggiunti o c'è una soluzione decente per questo?
Edit (codice di esempio aggiunto):
Quindi questo è come mi recuperare i dati per un elemento specifico in Firebase.
var ref = new Firebase('https://<your-Firebase>.firebaseio.com');
ref.child('listings/-KB9ZqLZBEskoUihb-yR').once('value', function(snapshot) {
listing = snapshot.val();
});
E qui voglio ascoltare per quando viene aggiunto un nuovo bambino a tale voce:
ref.child('listings/-KB9ZqLZBEskoUihb-yR').on('child_added', function(snapshot) {
listing[snapshot.key()] = snapshot.val()
});
problema è che l'ascolto di voci aggiunto su quel nodo recupera tutti i nodi figli di nuovo e che sembra come un enorme spreco. Come affronteresti questa situazione?
C'è troppo testo che descrive codice e dati qui. Si prega di fornire il codice effettivo e JSON (come testo, senza screenshot) che riproduce la situazione che stai chiedendo. Vedi [MCVE] (http://stackoverflow.com/help/mcve). –
E 'un annuncio/-KB9ZqLZBEskoUihb-y' un articolo specifico? Ci sono dei bambini aggiunti * all'interno di * quel nodo o stai cercando altri elementi da aggiungere con il nodo * lists *. Qualche struttura di Firebase ci aiuterebbe davvero e forse un po 'di chiarimento della domanda. – Jay
'elenchi/-KB9ZqLZBEskoUihb-y' è un elemento specifico e desidero ascoltare quando i bambini vengono aggiunti a quell'elemento specifico. –