如何像我们在 SQL 中实现的那样在 firebase 实时数据库中实现分页?

马兹

我正在创建一个管理应用程序,它需要列出保存在我的 firebase 实时数据库中的产品。由于可能有数百种产品并且它们无法在单个页面上列出,因此我必须实现分页。我已经找到一种方法作为官方文档中的描述来实现分页这里

通过使用startAt()limitToFirst()我可以在页面中向前跳转,通过使用endAt()limitToLast()我可以在页面中向后跳转。这样我就可以在连续页面之间跳转。例如

第 1 页 <-> 第 2 页 <-> 第 3 页 <-> 第 4 页

用于向前跳转页面

firebase.db.ref("products")
  .orderByKey()
  .limitToFirst(pageSize + 1)
  .startAt(lastKey)

用于向后跳转页面

firebase.db.ref("products")
  .orderByKey()
  .limitToLast(pageSize + 1)
  .endAt(firstKey)

在上面的代码片段中pageSize是页面中要显示的产品数量,lastKey是上一页查询结果中最后一个产品的键(如果是第一页,则为空),firstKey是第一个的键产品来自上一页查询的结果。

但问题是,如果我必须直接从第 1 页跳到第 3 页,那么我找不到实现这一目标的方法。这正是我想要的;

第 1 页 <-> 第 3 页 <-> 第 6 页

任何人都可以指导我是否可以在 firebase 实时数据库中做到这一点,如果是,那么如何?

提前致谢。

弗兰克·范·普费伦

Firebase 的查询模型是基于锚点的,而不是基于偏移量的。这使得它不太适合随机访问分页,而更适合无限滚动类型的延迟加载。

要加载页面,您需要知道该页面上的第一项还是最后一项的键。无法通过偏移量跳转到页面,您必须知道其中一个键。

(早已弃用)firebase-utils库通过首先通过 REST API 加载所有键(允许加载键而不加载它们的值)来实现分页,然后使用它来查找每个页面的开始和结束。但这意味着您会错过实时更新,这在使用 Firebase 时感觉有点浪费。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在 Firebase 实时数据库 Android 中实现等效的 .contains(SomeText)?

来自分类Dev

如何通过快速实现观察者从Firebase实时数据库中获取嵌套数据

来自分类Dev

如何从Firebase中的实时数据库获取数据

来自分类Dev

如何从Firebase实时数据库中删除?

来自分类Dev

如何更新Firebase实时数据库中的位置?

来自分类Dev

Flutter:使用带有http请求的Firebase实时数据库实现分页

来自分类Dev

将Firebase实时数据库数据保存到SQL表或NoSQL表中

来自分类Dev

React + Firebase:如何添加项目以将数据列表到firebase实时数据库中

来自分类Dev

Firebase实时数据库中的不同目录访问权限,以实现dialogflow

来自分类Dev

如何在flutter中从Firebase实时数据库中获取数据?

来自分类Dev

如何从android中的firebase实时数据库中获取数据

来自分类Dev

删除 firebase 实时数据库中的数据时,如何从列表中删除特定项目?

来自分类Dev

数据更改后如何从Firebase实时数据库中检索特定数据

来自分类Dev

Firebase-如何更新Firebase实时数据库中的对象

来自分类Dev

如何在firebase auth和firebase-实时数据库中获得相同的ID?

来自分类Dev

如何从firebase存储获取imageUrl以存储在firebase实时数据库中?

来自分类Dev

当我们从 Firebase 实时数据库中删除或更新项目时,项目在适配器中重复

来自分类Dev

用户注册期间如何在Firebase的实时数据库中存储数据?

来自分类Dev

如何从Web中的Firebase实时数据库获取数据?

来自分类Dev

如何从Firebase实时数据库中获取数据并将其显示在微调器上

来自分类Dev

如何使用firebase实时数据库检查数据是否已经在html表中?

来自分类Dev

如何在实时数据库 FIREBASE 中检查数据

来自分类Dev

如何检查 firebase 实时数据库中的更改值并使它们显示在 html 表中?

来自分类Dev

我如何在 .hbs 文件中执行 sql 查询,就像我们使用 php 对 .html 执行的一样?

来自分类Dev

像我们为函数编写的那样,如何用c ++编写类库

来自分类Dev

如何从云功能中引用Firebase的实时数据库?

来自分类Dev

如何使用python从Firebase实时数据库中删除

来自分类Dev

Flutter:如何从Firebase实时数据库中获取新添加的记录?

来自分类Dev

如何从Firebase实时数据库中的.set()获取自动生成的ID?

Related 相关文章

  1. 1

    如何在 Firebase 实时数据库 Android 中实现等效的 .contains(SomeText)?

  2. 2

    如何通过快速实现观察者从Firebase实时数据库中获取嵌套数据

  3. 3

    如何从Firebase中的实时数据库获取数据

  4. 4

    如何从Firebase实时数据库中删除?

  5. 5

    如何更新Firebase实时数据库中的位置?

  6. 6

    Flutter:使用带有http请求的Firebase实时数据库实现分页

  7. 7

    将Firebase实时数据库数据保存到SQL表或NoSQL表中

  8. 8

    React + Firebase:如何添加项目以将数据列表到firebase实时数据库中

  9. 9

    Firebase实时数据库中的不同目录访问权限,以实现dialogflow

  10. 10

    如何在flutter中从Firebase实时数据库中获取数据?

  11. 11

    如何从android中的firebase实时数据库中获取数据

  12. 12

    删除 firebase 实时数据库中的数据时,如何从列表中删除特定项目?

  13. 13

    数据更改后如何从Firebase实时数据库中检索特定数据

  14. 14

    Firebase-如何更新Firebase实时数据库中的对象

  15. 15

    如何在firebase auth和firebase-实时数据库中获得相同的ID?

  16. 16

    如何从firebase存储获取imageUrl以存储在firebase实时数据库中?

  17. 17

    当我们从 Firebase 实时数据库中删除或更新项目时,项目在适配器中重复

  18. 18

    用户注册期间如何在Firebase的实时数据库中存储数据?

  19. 19

    如何从Web中的Firebase实时数据库获取数据?

  20. 20

    如何从Firebase实时数据库中获取数据并将其显示在微调器上

  21. 21

    如何使用firebase实时数据库检查数据是否已经在html表中?

  22. 22

    如何在实时数据库 FIREBASE 中检查数据

  23. 23

    如何检查 firebase 实时数据库中的更改值并使它们显示在 html 表中?

  24. 24

    我如何在 .hbs 文件中执行 sql 查询,就像我们使用 php 对 .html 执行的一样?

  25. 25

    像我们为函数编写的那样,如何用c ++编写类库

  26. 26

    如何从云功能中引用Firebase的实时数据库?

  27. 27

    如何使用python从Firebase实时数据库中删除

  28. 28

    Flutter:如何从Firebase实时数据库中获取新添加的记录?

  29. 29

    如何从Firebase实时数据库中的.set()获取自动生成的ID?

热门标签

归档