2017-05-11 3 views
0

Ich möchte Leaderboard nach Land machen. Ich habe versucht, eine solche Abfrage:Land Leaderboard Abfrage

.orderByChild(COUNTRY_COLUMN) 
.equalTo(country) 
.orderByChild(TROPHIES_COLUMN) 

Aber Firebase nicht erlauben mehrere orderBy Anrufe verbinden. Wie kann ich eine solche Abfrage machen?

+1

Mögliche doppelte: http://stackoverflow.com/questions/26700924/query-based-on-multiple-where-clauses-in- Firebase –

Antwort

0

es mehr Methoden, dies zu erreichen, ist nach Ländern und dann auf dem Client, um von trhopies zu filtern, können Sie auch eine andere Spalte in Feuerbasis zu schaffen, das der Index sein würde, so etwas wie:

country_trophies_index: 'US_12' 

und dann tun Sie einfach die Reihenfolge von dieser Eigenschaft.

können Sie weitere Informationen in dieser Antwort sehen:

https://stackoverflow.com/a/26701282/641345

+0

Ich versuchte extra Spalte Methode: '. OrderByChild (" country_trophies_index ") .startAt (" US _ ")' Aber es hat falsche Sortierung: '1. country_trophies_index: "US_2000" 2. country_trophies_index: "US_540" 3. country_trophies_index: "US_550" ' – markrof

+0

Das liegt daran, dass es als Text sortiert ist, also" 540 "ist nach" 2000 ", Sie können versuchen, führende Nullen hinzuzufügen gleiche Länge in Zahlen, wie "US_0000002000" und "US_0000000540" – Escobar5

+0

funktioniert so, aber das Problem ist, dass Firebase in aufsteigender Reihenfolge sortiert – markrof