2017-12-30 56 views
-1

Ich möchte alle Personen aus der Datenbank, wo Vorname und Nachname durch Benutzereingaben gegeben ist.Wie kann ich Firebase Realtime Database abfragen und filtern

Bisher ist dies mein Code:

admin.database().ref('persons').orderByChild('Firstname').equalTo(firstName).limitToLast(1).once("value").then(function(snapshot) { 
} 

Dieser Code funktioniert nur Vorname Filterung, aber ich kann nicht jede mögliche Weise eine andere hinzuzufügen Where-Klausel für Nachname finden. Ich habe versucht, eine weitere Bestellung hinzuzufügen, aber es scheint nicht zu funktionieren. Muss die Realtime Database so schwierig sein, um eine einfache Abfrage zu erstellen?

+0

Die Firebase Realtime Database-Abfragen können nur nach einer einzelnen Eigenschaft sortieren/filtern. In vielen Fällen ist es möglich, die zu filternden Werte zu einer einzigen (synthetischen) Eigenschaft zu kombinieren, z. '" FirstName_LastName ":" Frank_van Puffelen "'. Ein Beispiel für diese und andere Ansätze finden Sie hier: http://stackoverflow.com/questions/26700924/query-based-on-multiple-where-clauses-in-firebase –

Antwort

1

Die kurze Antwort: Sie können nicht. Die lange Antwort: Verwenden Sie Googles neue Firestore Datenbank oder führen Sie die Filterung auf dem Client manuell durch. Andere Optionen finden Sie unter this answer.

+0

dann kann ich sagen, wer auch immer Realtime Database gemacht hat es nervt! Danke für die Antwort! – Mizlul

+1

Ja, Sie können ... mit einem benutzerdefinierten Index. https://stackoverflow.com/questions/26700924/query-based-on-multiple-where-clauses-in-firebase – charlietfl

+0

Das ist nicht wahr, wenn Sie die Antwort lesen, sagt es, dass Sie nicht können. 'indexOn' ist einfach eine Möglichkeit, die Leseleistung beim Sortieren nach einem beliebigen Kind zu verbessern. – SUPERCILEX

Verwandte Themen