我试图从firebase中获取一些数据。在我的对象中,我有Firebase查询不允许在多个属性上进行排序?
Recent
|_UniversitId
|_objectiId1
| |_ userId:1
| |_ timestamp:143242344
|_objectiId2
|_ userId:1
|_ timestamp:143243222
我的查询路径是http://firbasedbname.com/Recent/UniversityId
。我需要获取userId id等于1的条目,并按照时间戳设置顺序。我尝试了以下方法,
FIRDatabaseQuery *query = [[firebase queryOrderedByChild:@"userId"] queryEqualToValue:@"1"];
这会正确提取我的用户。但有没有一种可能的方式来按照时间戳排序。要做到这一点,我试着把另一个queryOrderedByChild
。但它说它只能使用一次。我该如何解决这个问题?
作为穆罕默德说(和大卫解释了链接的视频),你可以在与火力地堡数据库的一个属性只能订购/过滤器。在你的情况下,似乎你可以将这两个值组合成一个属性并对其进行过滤。看到我的答案在这里的一个例子:http://stackoverflow.com/questions/26700924/query-based-on-multiple-where-clauses-in-firebase –
我刚刚扩大我对这个问题的答案,包括一个例子用范围查询('startAt'和'endAt')。 –