在 Firebase 中查询有限的数据

Posted

技术标签:

【中文标题】在 Firebase 中查询有限的数据【英文标题】:Query limited data in firebase 【发布时间】:2017-08-16 18:30:57 【问题描述】:

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

我知道firebase提供以下方法

    queryLimitedToFirst queryLimitedToLast queryStartingAtValue queryEndingAtValue queryEqualToValue

但是如何结合使用它们来检索我想要的结果呢?

这是我拥有的数据的结构:

【问题讨论】:

***.com/… 【参考方案1】:

您应该按某些属性排序查询(我通常使用时间戳)。这会将您的订单从最新到最旧进行组织。当您订购它们时,您应该限制它们:

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

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

相反,您可以将它与 queryStartingAtValue 结合使用并使用您的最后一个帖子 tiemstamp - 这将“跳过”您之前的结果并仅返回您需要的 20 个帖子。

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

【讨论】:

以上是关于在 Firebase 中查询有限的数据的主要内容,如果未能解决你的问题,请参考以下文章

Uncaught FirebaseError: Firebase: No Firebase App '[DEFAULT]' has been created - 在 vue.js 中调用 Fireba

如何从孩子(firebase)查询所有孩子的值[重复]

在 Firebase 中获取有限数量的记录

Stripe 和 Firebase:FirebaseError:collection() 的第一个参数应为 CollectionReference、DocumentReference 或 Fireba

Firebase - 显示到 ListView

如何在 Firebase 中验证休息呼叫?