我想创建一个包含rss feed或您可能会看到instagram或facebook的feed的应用程序。我目前正在尝试使用Firebase实时数据库或Firestore作为后端来存储显示给用户的帖子来实现此目的。我似乎想不出一种方法来完成这项工作。理想的解决方案按时间顺序发送帖子列表,不需要在客户端上进行任何其他排序。当我尝试使用实时数据库时,我可以轻松地将所有相关帖子添加到它们自己的路径中,并在客户端对它们进行排序(或者可以使用云功能在服务器端对数据进行排序)。当尝试使用Firestore提出解决方案时,我的想法是让发布文档保留对包含订阅者/关注者列表的子集合的引用,但我似乎找不到一种方法来基于参考子集中是否存在文档。
仅供参考,我想要理想解决方案的原因是分页。
答案 0 :(得分:0)
我几乎没有Firestore的经验。但是,如果使用Firebase,如果我对您的理解正确,这很容易实现。
第一部分是存储日期,请确保将其存储为时间戳(date.getTime()
)。
然后您可以执行以下操作:
db.ref('posts').orderByChild('date').limitToLast(10)
这使您可以获取最近的10条帖子。要获取前10个,您可以从最早的帖子中获取日期,然后执行以下操作:
db.ref('posts').orderByChild('date').endAt(previousDate - 1).limitToLast(10)
请注意,如果2个帖子的date
值相同,则可能需要不同的处理方式。