我制作了一个使用Firebase的应用程序。数据库的结构如下:
Posts
|_Group1
|_Post1
|_Post2
|_ ...
|_Group2
|_Post9
|_Post10
|_ ...
|_ ...
Users
|_User1
|_JoinedGroups
|_Group1
|_Group4
|_ ...
|_ ...
每个帖子都有一个“ datetime”属性,该属性只是用于排序目的的时间戳。我要实现以下目标:每个用户都有一个新闻源(类似于Facebook的新闻源),其中按时间顺序列出了他加入的组的所有帖子。到目前为止,我已经完成了什么:我实现了分页(无限滚动),在该操作中,我从用户所有加入的组中获取前N个帖子,如果他滚动到屏幕底部,则会从所有加入的组中加载接下来的N个帖子。每次发生这种情况时,我都需要对到目前为止提取的所有帖子进行排序,以确保所有帖子按正确的时间顺序排列。问题在于,用户可能需要再次向上滚动才能看到组中的帖子,该帖子只有在他到达底部并对帖子进行排序后才被提取。还有其他方法可以得到我需要的东西吗?也许不需要每次都排序?