我的应用在Firebase中存储了聚会。每个聚会都有一个结束日期,该日期已转换为字符串并作为聚会的属性保存在Firebase中(参见图片)。当应用程序从Firebase检索数据时,它会将所有聚会提取到一个数组中,并在结束日期过去时过滤掉聚会。我试图找到一种方法来查询Firebase,它只会提取结束日期等于或大于当前日期的聚会。不需要过去具有结束日期的聚会,并且永远不会在应用程序上显示,此外它还会增加用于下载聚会的网络带宽。有没有人有关于如何从查询中排除聚会的任何解决方案/建议,以便我不必在客户端过滤掉聚会?
答案 0 :(得分:3)
Firebase在这里提供了一系列查询和限制功能:
如果我没有弄错的话,你应该能够构建一个有限的聚会查询
ref.child("meetups").queryOrderedByChild("endDate").queryStartingAtValue(currentDate).queryEndingAtValue(currentDate).observeEventType(.ChildAdded, withBlock: { (snapshot) -> Void in
//do something
})
修改强>
您希望将startDate和endDate字段存储为时间戳