Datensatz mit Abfrage, AngularFire, abrufen

7

Ich verwende Firebase, Backend-as-a-Service, für meine Website-Anwendung, die von AngularJS programmiert wird.

Ich möchte db-Abfragen verwenden, um Datensätze wie: WHERE name == 'The Legend Of Korra'

zu holen

Ich habe eine Reihe von TV-Serien auf dem Firebase-Server, JSON CODE :

%Vor%

Der Code, den ich jetzt benutze, um dies zum Laufen zu bringen:

%Vor%

Ich möchte dies ohne Verwendung von $firebaseArray und forEach durchführen. Wie soll ich es machen?

Nur so etwas:

%Vor%     
Matan Yedayev 20.03.2015, 10:48
quelle

1 Antwort

20

Ich habe einige Vorschläge, die hier helfen können:

Beispiel

  • Sehen Sie sich dieses funktionierende Beispiel für PLNKR an .
    • Ich habe Ihre Daten in einer meiner öffentlichen Firebase-Instanzen repliziert.
    • Die Suchanfrage, nach der Sie suchen, lautet seriesCollectionRef.orderByChild("name").equalTo(seriesName)
    • Wenn Sie in der Eingabe ' Avatar: The Last Airbender ' eingeben und auf "Suchen" klicken, erhalten Sie das passende Serienobjekt.
  • In meinem Beispiel habe ich den Dienst $firebaseArray um eine Methode zum Auffinden einer bestimmten Serie nach Namen erweitert.
    • Sehen Sie in der Dokumentation zu weitere AngularFire-Dienste .
    • Sie können dasselbe erreichen, ohne den Dienst zu erweitern, siehe letztes Code-Snippet.

Fabriken

%Vor%

Controller

%Vor%

Ohne erweiterten Service

Hier sehen Sie, wie eine Controller-Funktion aussehen würde, wenn Sie die Fabriken nicht benutzen würden:

%Vor%

Regeln

Hinweis: Es ist wichtig zu beachten, dass Sie ".indexOn":"name" zu Ihren Firebase-Regeln hinzufügen sollten, damit die Abfrage effizient ausgeführt werden kann. Wie so:

%Vor%

Hoffe das hilft!

    
Sinan Bolel 21.03.2015, 22:52
quelle

Tags und Links