前端应用程序将使用 firebase.com 作为数据库。应用程序应该像博客一样工作:
管理员添加/删除帖子。
有“主页”页面,每页显示几篇文章,带有“下一个”和“上一个”按钮,页面显示单个文章。
我也需要深度链接。即当用户输入 URL http://mysite.com/page/2/我需要该应用程序显示最后的文章从 10 到 20,当用户输入 URL http://mysite.com/page/20/应用程序显示最后的文章200 到 210。通常的分页。
主要问题 - 如果使用 firebase.com,是否有可能实现这一目标。
我在 firebase.com 上阅读了文档,我在这里阅读了帖子。"offset()" 和 "count()" 将在未来使用优先级,以便了解项目的数量并且不加载所有项目使用额外的计数器。
基于此,我认为:
添加 POST 操作:
- 获取帖子计数器的值
- 为新帖子数据设置优先级等于帖子计数器的值
- 增加帖子计数器的值
删除帖子操作
- 获取发布数据的优先级值
- 查询优先级值大于优先级的帖子数据,查询将被删除并减少其值的帖子数据
- 减少帖子计数器的值
从 x 到 y 获取帖子
- postsRef.startAt(null, x).endAt(null, y).on(... 等等)
这样不喜欢的东西是针对DELETE POST的动作。因为帖子的索引将从 0 到无穷大,优先级较低的帖子被认为是较早创建的帖子,所以如果我有 100000000 个帖子并且如果我需要删除第一个帖子,那么我需要加载 99999999 下一个帖子的数据并更新它们优先级(索引)。
还有其他方法吗?
在此先感谢,康斯坦丁