2017-05-11 16 views
0

国別にリーダーボードを作りたい。私はそのようなクエリを試しました:国別リーダーボードクエリ

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

しかし、Firebaseでは複数のorderBy呼び出しを組み合わせることはできません。 このようなクエリを作成するにはどうすればよいですか?

+1

可能な重複:http://stackoverflow.com/questions/26700924/query-based-on-multiple-where-clauses-in- firebase –

答えて

0

これを達成するために、複数の方法があり、一つは国によってフィルタリングするために、その後trhopiesによって、クライアントのために、あなたはまた、インデックスになりfirebaseで別の列、のようなものを作成することができます:

country_trophies_index: 'US_12' 

し、そのプロパティをorderbyしてください。

あなたはこの回答で詳細を見ることができます:

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

+0

'.orderByChild(" country_trophies_index ") .startAt(" US _ ")' しかし、それは間違った並べ替えを持っています: '1。 country_trophies_index: "US_2000" 2. country_trophies_index: "US_540" 3. country_trophies_index: "US_550" ' – markrof

+0

これはテキストとしてソートされているため、「540」は「2000」の後にあるため、常にゼロを先頭に追加することができます"US_0000002000"や "US_0000000540"のように同じ長さです。 – Escobar5

+0

このように動作しますが、問題はFirebaseが昇順に並べ替えることです。 – markrof

関連する問題