2017-05-11 70 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的客户订单上,你还可以创建在火力另一列,这将是该指数,是这样的:

country_trophies_index: 'US_12' 

然后只是通过该属性执行该命令。

您可以在这个答案查看更多详情:

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