數據庫層次結構:如何正確查詢用戶創建的所有帖子?
posts
post1_uid
author: user2UID
info1
info2
post2_uid
author: user1UID
info1
info2
users
user1_UID
info1
info2
info3
user2_UID
info1
info2
info3
狀況:
用戶可以創建的帖子。每個帖子都有一個「作者」屬性,用於保存創建帖子的用戶的UID。
如果我想告訴所有的帖子從一個用戶,我寫在我的火力地堡GET請求:
CODE:
if (childData.author == firebase().auth().currentUser.uid) {
//Show those posts created by the current user
}
問題
這會有效嗎nt如果我的Firebase數據庫擁有數百萬個帖子,並且當前用戶的ID需要與每個帖子的「作者」屬性進行比較?
如果否,是否有更好的選擇?
我的嘗試:
在我的「用戶/ UID /」路徑創建其中包含用戶創建的所有職位的UID一個「上崗」節點。與迭代通過數據庫上的所有帖子(百萬)相比,我遍歷了一個更小的json樹(僅由用戶創建的所有帖子(100)),以找到已由用戶。但這是否真的影響性能?數據嵌套的增加值得嗎?
其他數據庫層次結構:
posts
post1_uid
author: user1UID
info1
info2
post2_uid
author: user1UID
info1
info2
users
user1_UID
info1
info2
info3
posts
referenceUID
post1UID
post2UID
user2_UID
info1
info2
info3
下面是實際的數據庫層次與一些假的數據來模仿我的榜樣的行爲。
TL; DR:
如何正確地組織火力地堡數據庫來優化查詢尋找由用戶創建的所有帖子?