我试图弄清楚我应该确保我只从db中获取最新的x帖子。
我当前的获取方法如下:
GetPeopleIFollowAnd loop over each UID
For each UID fetch his posts
这样做,但是我无法有效(快速(获取最新的X帖子。我该怎么做?
我有一些可能的想法:
- 创建一个新的节点,每当您的一个关注者发表帖子时,它们都会在您的UID下方添加时间戳。因此,当我获取时,我会为每个UID循环浏览此关注者,并且仅在第一个10 中这样做
我在上述解决方案中看到的问题是,如果用户要有数百万的人跟随他们,这在更新这些百万
中的每一个时都会非常慢。我发现它似乎是有用的。我该怎么使用?
我的帖子DB结构如下
Post
UID
postID
Media
media
image: URL
基于以下的追随者结构:
WhoFollowsMeNode/UID/uid: true
我每次用户帖子都必须在此列表中循环遍历每个用户的位置,我将帖子添加到那里的时间表...这似乎是不可行的,但是看来他们在这里正在做的事情。
在实时数据库上,您可以使用limitToLast()
方法,然后可以传递要带多少元素,此方法将获取在节点中添加的最后一个信息,由于文档是用时间戳订购的,如果您使用limitToLast(10)
获取它们,则可以获取用户的最后10个帖子。
如果您正在使用帖子列表,则可以将列表显示给用户,这样做,您将首先看到最新数据和下面的旧数据。