2013-05-10 36 views
0

我使用的是Mongoid 3.我有一個Video模型。 dates應該是嵌入式文檔還是Array類型?日期應該是嵌入式文檔嗎?

如果我有這樣的結構:

{ 
     :id => 2, 
     :dates => [ 
     { 
      :date => Time.now.strftime('%Y%m%d').to_i, 
      :views => { 
      :non_uniques => 1, 
      :uniques => 1, 
      :countries => { 
       :us => 1, 
       :uk => 1 
      } 
      }, 
      :likes => 1, 
      :comments => 1, 
     } 
     ] 
} 

此外,應viewscountries是嵌入文檔?

回答

1

由於您計劃捕獲日期的附加信息,我認爲您當前的模式是正確的。一個方面還需要考慮,你將如何使用數據或查詢。如果您想查看特定日期的視頻的總體觀看次數和喜歡度,我認爲您的方法是正確的,但是如果您要顯示整體喜好和觀看效果而不是每天,則陣列效果會更好。從NoSQL和嵌入式文檔的角度來看,你所做的一般是正確的,但最後這一切都取決於你想要查詢的內容。在這裏,你的日常統計數據將會非常快。

+0

所以'日期','意見'和'國家'將成爲單獨的模型?即'video ebeds_many dates','日期embeds_many views','views embeds_many countries'?聽起來不錯? – 2013-05-11 01:04:50

+0

是的,它會好的,因爲我已經說過,如果你的查詢大部分時間顯示視頻與所有這些信息。即使你可以多收藏一些國家,以防你需要更多的細節來保持國家的其他觀點,但在視頻統計的情況下,你只想顯示國家名稱,只保留視頻文件中的國家名稱。 – Devesh 2013-05-11 04:58:10