2016-06-08 20 views
0

Ich habe eine React-Anwendung, die Firebase als Back-End verwendet. Hier ist eine Momentaufnahme meiner Datenstruktur. enter image description hereAbfrage Daten von Firebase mit Parametern - React

Die Nummern 1001, 1002, 1003 repräsentieren die ID jedes Eintrags. Ich suche, diese Struktur abzufragen und nur die Knoten zurückzubringen, deren Stadtattribut "Tarzana" ist.

Ich war in der Lage, alle Knoten von Firebase zu greifen und dann durch sie zu durchlaufen, um diejenigen auszuwählen und zu speichern, die meine Filterkriterien in einem Array entsprechen. Ich bin mir jedoch fast sicher, dass es einen effizienteren Weg geben muss, da ich nicht ALLE Daten erfassen muss.

Könnte mir jemand bitte in die Richtung zeigen, wie man meine Daten effizient mit Parametern abfragt.

+0

Sie haben ein Bild des JSON Baum in Ihrer Frage enthalten. Bitte ersetzen Sie dies durch den tatsächlichen JSON als Text, den Sie einfach erhalten, indem Sie auf die Schaltfläche "Exportieren" in Ihrer Firebase-Datenbank klicken. Da der JSON als Text durchsuchbar ist, können wir ihn einfach verwenden, um mit Ihren tatsächlichen Daten zu testen und sie in unserer Antwort zu verwenden, und im Allgemeinen ist dies nur eine gute Sache. –

Antwort

4

Versuchen Sie folgendes:

Data.orderByChild("city").equalTo("Tarzana"); 
+0

Auch würde ich das Stadtfeld indexieren, wenn dort viele Daten sind. –

+0

@MotiAzu Was meinst du mit Index das Stadtfeld? –

+0

Sie benötigen einen Datenbankindex für dieses Feld, wenn Sie danach abfragen wollen. Firebase verfügt über eine Indizierung, die über die Regeln verfügbar ist. –