2016-11-09 5 views
2

ich alle Daten in meinem Firebase Datenbank retrive wollen das Genre "Gospel" hatAndroid Feuerbasis Abfrage mit mehreren orderBy

Hier ist meine Datenbank:

enter image description here

DatabaseReference infoRef = FirebaseDatabase.getInstance().geReference().child("info"); 

infoRef.orderByChild("genre").orderByValue().equalTo("Gospel").addValueEventListener(new ValueEventListener(){ 
    @Override 
    public void onDataChange(DataSnapshot dataSnapshot){ 
    log.i("data", dataSnapshot.toString()); 
    } 

    @Override 
    public void onCancelled(DatabaseError databaseError){ 

    } 
}); 

Ich brauche andere Abfrage, weil Mehrfachbestellung ist ungültig.

Dank ...

+0

Sie um auf eine Eigenschaft von/Filter nicht nur erlaubt Firebase

Versuchen. Siehe http://stackoverflow.com/questions/26700924/query-based-on-multiple-where-clauses-in-firebase. Sobald Sie jedoch das Genre gefiltert haben, können Sie die Daten clientseitig neu ordnen. –

+0

Eine weitere Lösung besteht darin, dass Sie, da ein Album zu einem einzigen Genre gehört, die Daten als Genre strukturieren können: "Gospel" und verwenden Sie einen orderByChild ("Genre"). EqualTo ("Gospel"), um den übergeordneten Knoten zu erhalten –

Antwort

1

Mehrere orderBy sind in diesen kann

infoRef.orderByChild("genre").equalTo("Gospel").addValueEventListener(new ValueEventListener(){ 
@Override 
public void onDataChange(DataSnapshot dataSnapshot){ 
log.i("data", dataSnapshot.toString()); 
} 

@Override 
public void onCancelled(DatabaseError databaseError){ 

} 
}); 
Verwandte Themen