2017-03-03 2 views
1

Arbeiten mit Android und Firebase enthält, und stumpled auf ein Problem, von dem, was wir erreichen wollenFirebase - Rufen Sie alle Daten aus Kind, wo Schlüssel VAR

Wir haben ein Dokument, in dem der Schlüssel 2 Namen wie Bob_Jimmy

Jeder Name ist einzigartig, aber in verschiedenen Konfigurationen wie erscheinen können: Bob_Jimmy Jimmy_Bob Bob_Carl

Da dies ist der Schlüssel, wie/sollte würden Sie gehen über Daten immer von allen Schlüsseln, wo ‚Bob‘ ist ein Teil des Schlüssels? Da wir nur Bob kennen

Antwort

0

Erstellen Sie eine Firebase-Datenbankreferenz und überprüfen Sie in onDataChange(), ob der Schlüssel Ihre Variable enthält. Zum Beispiel:

DatabaseReference ref = FirebaseDatabase.getInstance().getReference(); 
ref.addListenerForSingleValueEvent(new ValueEventListener(){ 

    @Override 
    public void onDataChange(DataSnapshot dataSnapshot){ 
    if(dataSnapshot.getKey().contains("bob")){ 
      {your code} 
     } 
    } 

}); 

Wenn ich Ihre yee Datenbankstruktur habe, kann ich in der Lage sein, genauen Code zu schreiben. Dies ist nur ein Beispiel. Sie können addChildEventListener() verwenden, wenn Sie neue untergeordnete Ereignisse überwachen möchten. Ich hoffe es hilft.

-1

Sie können die Realtime Database Query-Klasse verwenden, um Daten nach Schlüssel, nach Wert oder nach dem Wert eines untergeordneten Elements abzurufen. Sie können auch die Sortierergebnis auf eine bestimmte Anzahl von Ergebnissen oder einer Reihe von Tasten auswählen oder Werte

Hinweis: Filtern und teuer sein kann das Sortieren, vor allem, wenn auf die Client. Wenn Ihre App Abfragen verwendet, definieren Sie die. indexOn Regel zu indexieren Sie diese Schlüssel auf dem Server und verbessern Sie die Abfrageleistung als beschrieben in Indizierung Ihrer Daten.

Sie können sort data mit folgenden Methoden

Methode Verwendung

orderByChild() Ergebnisse sortieren nach dem Wert eines bestimmten untergeordneten Schlüssel.

orderByKey() Ergebnisse nach Kindtasten sortieren.

orderByValue() Ergebnisse sortieren nach geordneten Werte

startat() Rückholeinzelteile größer oder gleich dem angegebenen Schlüssel oder Wert in Abhängigkeit von der Reihenfolge-by-Methode ausgewählt.

endAt() Gibt Elemente zurück, die kleiner oder gleich dem angegebenen Schlüssel oder Wert sind, abhängig von der ausgewählten Reihenfolge.

equalTo() Rückgabewerte, die dem angegebenen Schlüssel oder Wert entsprechen, abhängig von der ausgewählten Reihenfolge.

+0

Diese Informationen sind in der Firebase-Dokumentation enthalten. Geben Sie eine spezifische Antwort in Bezug auf die gestellte Frage an. Ich brauche die Dokumentation ** COPY - PASTE ** hier nicht. –

Verwandte Themen