在 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
Stripe 和 Firebase:FirebaseError:collection() 的第一个参数应为 CollectionReference、DocumentReference 或 Fireba