查询firebase中的有限数据

时间:2017-08-16 18:30:57

标签: ios swift firebase firebase-realtime-database

我正在开发一个从firebase检索帖子的应用程序。问题是我想要检索前20个帖子并在表格中显示。当用户点击下一个按钮时,它将检索接下来的20个帖子并显示,依此类推。

我知道firebase提供了以下方法

  1. queryLimitedToFirst
  2. queryLimitedToLast
  3. queryStartingAtValue
  4. queryEndingAtValue
  5. queryEqualToValue
  6. 但是如何结合使用它们来检索我想要的结果?

    以下是我拥有的数据的结构:

    enter image description here

1 个答案:

答案 0 :(得分:0)

您应该通过某个属性订购查询(我通常使用时间戳)。这可以组织从最新到最旧的订单。当你订购它们时,你应该限制它们:

queryOrdered(byChild: "timestamp").queryLimited(toLast: UInt(limit))

正如您所看到的,我们可以将结果限制为我们喜欢的任何数字。您可以使用此功能每次阅读您的帖子,获得20个结果。 因此,第一次以20的限制调用它,下次限制为40,等等。请记住,这将返回上次调用中已返回的帖子。

相反,您可以将其与queryStartingAtValue结合使用并使用您的上一个帖子tiemstamp - 这将"跳过"您以前的结果,只返回您需要的20个帖子。

这只是一个想法,但我认为它应该像预期的那样工作。