我正在將Firebase用作博客站點的後端數據庫。我想知道如何構建我的Firebase DB;基於哪個我可以確定哪些帖子是最近趨勢最熱門的。設計Firebase架構以查詢趨勢帖子
讓我們看看下面的例子。
帖子
- [發佈1]
| -PostId:POST1
| -PostName:OLD
個 | -PostLikes:100
| -PostCreatedTimeStamp:1483107180599
| -PostCreatedDate:20141204/*日期以YYYYMMDD格式格式*/
- [Post 2]
| -PostId:POST2
| -PostName:NEW
| -PostLikes:40
| -PostCreatedTimeStamp: 1483115276906
| -PostCreatedDate:20161204
按照上面的例子中,我們可以看到,即使張貼了2少得了它目前的趨勢喜歡的數字,因爲它得到了越來越號碼喜歡在很短的時間內。 我們如何在此基礎上構建我們的Firebase。
我也找到了一個臨時解決方案。通過創建一個Like係數。
LikeCoefficient =((no of likes)* 10000000)/(RecentlylikedTimeStamp- createdTimestamp)。
這種方法存在缺陷。如果趨勢帖子停止獲得喜歡。我無法更新系數。因此,舊帖子也可以進入(我不想使用後端服務器:)。這會增加我在這個階段不想要的成本)。
[數學問題:]我們可以通過創建時間戳來提高LikeCoefficient,以表示最近的趨勢發佈順序。
@FireBaseteam:爲什麼我們不能有兩個orderbychild params。爲什麼團隊爲什麼.. :(:(
如果您使用EMA,則需要每日更新所有EMA值,以使它們保持最新狀態。 – MJQZ1347