ich die folgende Hierarchie auf Feuerbasis haben, werden einige Daten zur Vertraulichkeit versteckt:Erhalten Sie die Namen der Firebase-Kindknoten, ohne ihre Kinder in der Firebase-Antwort zu erhalten?
Ich versuche, eine Liste der Videos IDs zu bekommen (in rot unterstreicht)
Ich kann nur Holen Sie alle Knoten, dann erkennen Sie ihre Namen und speichern Sie sie in einem Array!
Aber das verursacht eine geringe Leistung; Da die dataSnapshot
von Firebase in meinem Fall sehr groß ist, also möchte ich vermeiden, den Inhalt aller Knoten abzurufen, dann Schleife über sie, um IDs zu erhalten, muss ich nur die IDs nur abrufen, d. h. ohne ihre verschachtelten Elemente.
Hier ist mein Code:
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();
}
);
}
);
Wie kann ich abrufen nur IDs Menge der Datenübertragung zu vermeiden und Schleifen über retrived Daten zu vermeiden IDs zu bekommen? Gibt es eine Möglichkeit, diese IDs direkt zu recen?
hey ist @Kato, ist es Pläne 'shallow' zu SDK hinzufügen? –
Keine. Verwenden Sie ein Tool, das keine HTTP-Anfrage stellen kann? Wenn das nicht praktikabel ist, können Sie die Liste der IDs in einem separaten Pfad für die SDK-Referenz speichern. Siehe Mehrpfad-Updates. – Kato