假設我有一個有成千上萬用戶的服務,並且我想發佈他們可以查看的新聞提醒。一旦他們看到一個,它被標記爲看到(顯然,只爲那個用戶)。MongoDB - 如何處理閱讀新聞提醒的用戶
我想我知道這個答案,但是在新聞項目上存儲一個已經看到它的用戶列表是否更好?或者,最好在用戶文檔上存儲他們看到的所有新聞項目的列表?
我假設後者更好,主要是因爲如果我有20,000用戶,這意味着如果他們都看到了特定的新聞提醒,那麼我有一個存儲在該新聞提醒文檔中的20,000個ID的數組,這可能不好。但這種結構似乎更好:
{
email: '[email protected]',
name: 'Person',
seenNews: [
'TTJGGiPsTqqLio4sf',
'vhePmuShra3MSzYsu',
'JKFqqCKDmtuuoQBXu',
'gCFyzu8BAihj8NnXB'
]
}
我可能不會有超過幾百新聞項目多,再加上我可以隨時回去,反正刪除舊的。
還是有更好的方法來處理這個問題嗎?