第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

Firestore-如何構(gòu)建Feed和關(guān)注系統(tǒng)

Firestore-如何構(gòu)建Feed和關(guān)注系統(tǒng)

Cats萌萌 2019-12-21 13:16:10
我將Firebase實(shí)時(shí)數(shù)據(jù)庫用于我的測試社交網(wǎng)絡(luò)應(yīng)用程序,您可以在其中跟蹤和接收所關(guān)注的人的信息。傳統(tǒng)的社交網(wǎng)絡(luò)。我的數(shù)據(jù)庫結(jié)構(gòu)如下:Users--USER_ID_1----name----email--USER_ID_2----name----emailPosts--POST_ID_1----image----userid----date--POST_ID_2----image----userid----dateTimeline--User_ID_1----POST_ID_2------date----POST_ID_1------date我還有另一個(gè)節(jié)點(diǎn)“ Content”,其中僅包含所有用戶帖子的ID。因此,如果“ A”跟在“ B”之后,那么B的所有帖子ID都會(huì)添加到A的時(shí)間軸中。如果B發(fā)布了一些內(nèi)容,那么它也會(huì)被添加到其所有關(guān)注者的時(shí)間表中?,F(xiàn)在這是我的實(shí)時(shí)數(shù)據(jù)庫解決方案,但顯然存在一些可伸縮性問題如果某人擁有10,000個(gè)關(guān)注者,而在10,000個(gè)關(guān)注者的時(shí)間軸中添加了新帖子。如果某人發(fā)布的帖子數(shù)量超過每個(gè)新關(guān)注者在其時(shí)間軸中收到的所有帖子。這些是一些問題?,F(xiàn)在,我正在考慮將整個(gè)事情轉(zhuǎn)移到Firestore上,因?yàn)樗环Q為“可伸縮”。因此,我應(yīng)該如何構(gòu)建數(shù)據(jù)庫的結(jié)構(gòu),以便可以在Firestore中消除我在實(shí)時(shí)數(shù)據(jù)庫中遇到的問題。
查看完整描述

3 回答

?
ABOUTYOU

TA貢獻(xiàn)1812條經(jīng)驗(yàn) 獲得超5個(gè)贊

有兩種情況


您應(yīng)用中的用戶只有少數(shù)關(guān)注者。


您應(yīng)用中的用戶擁有大量關(guān)注者。如果我們要將整個(gè)關(guān)注者存儲(chǔ)在Firestore中的單個(gè)文檔中的單個(gè)數(shù)組中。然后它將達(dá)到每個(gè)文檔1 MiB的存儲(chǔ)限制。


在第一種情況下,每個(gè)用戶都必須保留一個(gè)文檔,該文檔將關(guān)注者列表存儲(chǔ)在單個(gè)數(shù)組中的單個(gè)文檔中。通過使用arrayUnion()和arrayRemove(),可以有效地管理關(guān)注者列表。而且,當(dāng)您要在時(shí)間軸中發(fā)布內(nèi)容時(shí),必須在發(fā)布文檔中添加關(guān)注者列表。


并使用下面給出的查詢來獲取帖子


postCollectionRef.whereArrayContains("followers", userUid).orderBy("date");

在第二種情況下,您只需要根據(jù)關(guān)注者數(shù)組的大小或數(shù)量來中斷用戶關(guān)注文檔。在將數(shù)組的大小達(dá)到固定大小后,下一個(gè)關(guān)注者的ID必須添加到下一個(gè)文檔中。并且第一個(gè)文檔必須保留字段“ hasNext”,該字段存儲(chǔ)布爾值。添加新帖子時(shí),您必須復(fù)制帖子文檔,并且每個(gè)文檔都包含較早中斷的關(guān)注者列表。我們可以進(jìn)行與上面給出的相同的查詢來獲取文檔。


查看完整回答
反對 回復(fù) 2019-12-21
  • 3 回答
  • 0 關(guān)注
  • 497 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)