我试图弄清楚我应该确保自己仅从数据库中获取最新的x帖子的程度。
我当前的提取方法如下:
GetPeopleIFollowAnd loop over each UID
For each UID fetch his posts
但是,通过这样做,我无法高效地(快速)仅获取最新的x帖子。 我该怎么做?
我有一些可能的想法:
我在上述解决方案中看到的问题是,如果一个用户要有数百万的用户跟随他们,那么在更新这百万个用户中的每一个时,这将是非常慢的
I have found this which seems like it may be of use. How could I use this?
我的帖子数据库结构如下
Post
UID
postID
Media
media
image: URL
基于跟随者结构,例如:
WhoFollowsMeNode/UID/uid: true
每次用户发布时,我都必须遍历此列表,在该列表中,我将为每个用户将发布内容添加到那里timeLine ...这似乎是不可撤消的,但看起来他们是doing here
答案 0 :(得分:1)
在实时数据库上,您可以使用limitToLast()
方法,然后传递要带来的元素数量,该方法将获取节点中最后添加的信息,因为文档是按时间戳排序,如果您使用limitToLast(10)
获取它们,则可以获得用户的最后10条帖子。
如果您正在使用帖子列表,则可以在向用户显示列表时将其反转,这样,您将首先看到最新数据,并在下面看到旧数据。