我已在Firebase实时数据库中设置数据,如下所示:
键{ 创立日期, 人气, 评分, 作者}
是否可以检索以下问题的答案:
回答一个可能会回答另一个,但是只是为了确保我把它们都放了。
答案 0 :(得分:1)
所有这些都要求您考虑多个属性。而且,由于Firebase实时数据库只能对单个属性进行排序/过滤,因此如果不修改数据模型就无法执行这些操作。要获得良好的入门知识,请在此处阅读我的答案:Query based on multiple where clauses in Firebase
在这种情况下,每个节点需要三个额外的属性:
"month_popularity": "201812_125"
(如果流行度是125)。"week_rating": "2018w51_4"
。"day_rating": "20181225_4"
。使用这些属性,然后可以按所需的时间间隔进行排序,并过滤所需范围的值。例如,要获得本月排名前50的游戏:
ref.orderByChild("month_popularity").startAt("201812_").endAt("201812~")
~
仅是ASCII中_
之后的一个字符,请确保从本月开始不再返回结果。