Ho la seguente gerarchia sulla Firebase, alcuni dati sono nascosti fini di riservatezza:Ottieni i nomi dei nodi secondari di Firebase senza ottenere i loro figli nella risposta di Firebase?
Sto cercando di ottenere un elenco di video ID (sottolinea in rosso)
Posso solo ottenere tutti i nodi, quindi rilevare i loro nomi e memorizzarli in un array!
Ma questo causa basse prestazioni; perché il dataSnapshot
da firebase è molto grande nel mio caso, quindi voglio evitare di recuperare il contenuto di tutti i nodi e quindi ricorrere ad essi per ottenere gli ID, ho solo bisogno di recuperare solo gli ID, cioè senza i loro elementi nidificati.
Ecco il mio codice:
new Firebase("https://PRIVATE_NAME.firebaseio.com/videos/").once(
'value',
function(dataSnapshot){
// dataSnapshot now contains all the videos ids, lines & links
// this causes many performance issues
// Then I need to loop over all elements to extract ids !
var videoIdIndex = 0;
var videoIds = new Array();
dataSnapshot.forEach(
function(childSnapshot) {
videoIds[videoIdIndex++] = childSnapshot.name();
}
);
}
);
Come posso recuperare solo gli ID per evitare sacco di trasferimento dei dati e per evitare il loop sui dati retrived per ottenere gli ID? c'è un modo per ritirare questi ID direttamente?
hey @Kato, c'è qualche programma di aggiungere 'shallow' a SDK? –
Nessuno. Stai usando uno strumento che non può fare una richiesta HTTP? Se ciò non è pratico, è possibile memorizzare l'elenco di ID in un percorso sep per riferimento SDK. Vedi aggiornamenti multi-percorso. – Kato