2016-02-11 48 views
0

我正在製作一個帶有「Feed」視圖的視頻應用程序,其中列出了我所關注用戶發佈的所有視頻。一行ID爲數組或每個ID一行?

我要實現對這些視頻進行了「觀察」的狀態,想知道什麼是實現的最佳途徑。我使用的解析

(自行管理我的服務器上),但我想我的問題是共同的每一個數據庫系統。

我的想法是創建一個名爲「VideoView」中,我會做的其中一個選項類(在我的解析後端):

選項1)插入一個每一次我都會看到有一行特定的視頻。 所以在這個班,我想有一個指針User類(誰已經觀看了視頻中的當前用戶的objectId)和一個指向視頻類(視頻的觀看objectId)。

選項2)爲每個用戶插入一行(再次指向User類的指針),並且有一個這個特定用戶查看過的每個視頻id的數組。

什麼是最好的選擇,以實現我想在這裏?這種情況下的最佳做法是 - 爲每個視頻視圖保存一行或爲每個用戶保存一行並保存在陣列中查看的每個視頻ID?

謝謝!

+2

如果你想有一個規範化的數據庫設計,選項1,如果您使用的是的NoSQL數據庫,你可以使用選項2. –

回答

0

這是一個多對多的映射。用戶可以查看任意數量的視頻,並且可以由任意數量的用戶查看視頻。

最好的選擇是從userId,videoId有一個表映射,這樣你可以回答更多與用戶和視頻相關的查詢。每當查詢出現特定視頻的數量時,您就可以簡單地向count查詢count,而不是遍歷整個數組。

+0

謝謝您的回答。但我想我應該用一個「吉爾伯特勒布蘭克」給我評論。我還讀過NoSQL案例,我的選擇2是最好的選擇! – fraxool