我正在創建一個instagram風格的Feed,並試圖找出如何根據您關注的人來對帖子進行分頁。Firebase Swift分頁新聞Feed
我的數據結構如下:
posts:
user1:
post1
post2
user2:
post3
post4
user3:
post5
post6
post7
user-following:
user1:
user2
user3
所以帖子被創建後用戶組織。我也有一個當前用戶關注的人的結構。因此,我抓取當前用戶所關注的用戶的uid,然後轉到帖子部分,並獲取這些用戶的所有帖子,並且每個帖子都有一個createdAt值。
當我使用queryByChild(「createdAt」)時,它將每個用戶的數據排序,而不是絕對。 所以它排序user2的帖子,然後user3的帖子,而不是絕對的排序,因爲它拉動數據的塊。
我需要獨立於擁有新聞Feed帖子的用戶的最新總體帖子。我可以獲取快照中的所有發佈信息,但有沒有辦法對快照進行排序?我需要找到一種方法來讓數據庫對信息進行整體分類,而不是分塊,然後從該分類列表中提取最新的「x」個帖子。
否則,我必須將所有內容都放入我的程序中,然後將它排序到數組中,然後從數組中取出最近的'x'數量的帖子進行分頁。問題是,如果有1000個帖子,這是一個巨大的數據拉,將使應用程序超級慢,可能會崩潰。有什麼建議麼?
Firebase文檔非常有幫助。查看[使用iOS上的數據列表](https://firebase.google.com/docs/database/ios/lists-of-data),其中指出* queryLimitedToLast:設置從結尾返回的最大項數*在這種情況下,將其設置爲15,這將返回15個'最近'的帖子。將來,請在您的問題中包含有問題的代碼以及您的Firebase結構(作爲TEXT)。您可能需要查看[如何創建一個最小化,完整和可驗證的示例](https://stackoverflow.com/help/mcve) – Jay
@Dirty如果您希望Jay查看您的回覆,請使用「@Jay」評論 –
@Jay感謝您的回覆。我的問題進一步深入,我必須得到用戶關注的人的帖子。因此查詢將獲取每個用戶的帖子,然後轉到下一個用戶等等,所以一旦觀察到所有數據,它就不會對帖子進行排序,而是以塊的形式進行排序。所以帖子不會完全排序,但只能由每個用戶進行排序。是否有辦法在快照中一次抓取所有數據,然後對其進行排序,然後拖動最後的15個? – Dirty