在這裏我的問題:我想創建一個網絡,允許用戶上傳帖子和喜歡他們。喜歡在mongoDB
我想我可以將每篇文章存儲在一個名爲'post'的集合中,而且我沒有這樣做的問題。
但我在哪裏可以存儲每個帖子上的相關數據(時間,用戶等等)喜歡? 我不能在發佈文檔裏面這樣做,因爲文檔的最大尺寸是16MB,並且想象我將不得不爲每個帖子記錄數千個喜歡的相關數據,我無法做到這一點。
我可以將每個帖子關聯到一個集合,其中包括文檔和每個文檔是一樣的。但是,如果可能的話,我真的不想創造數百萬和數百萬的收藏。後文件的
例子:
{_id: blabla, userfrom: {}, txt: "i am the post", time: {}, geo: {}, likes: {here i have to add as many likes as users clicks, and it can exceed 16MB}}
在「喜歡」我可以把一個引用的集合,但是這是我想不能做什麼。
我讀過關於MongoDB的gridstore,但我沒有明白。我可以使用它作爲一個大小可以趨於無限的文件嗎?所以我可以添加儘可能多的記錄,因爲我想要?因此,與電網商店,我可以這樣做:
{_id: blabla, userfrom: {}, txt: "i am the post", time: {}, geo: {}, likes: {infinite records}}
有人可以幫助我處理嗎?謝謝
不確定你的意思是「創造數百萬和數百萬的收藏」。常見的做法是創建一個集合,每個集合包含一個文檔,其中包含對其所引用的帖子的引用。爲什麼這不起作用? –
爲什麼不把喜歡的文件存儲爲文件?每個人都有他們喜歡的職位的參考ID?並且,保留帖子中的總數,以便代碼實際上不需要每次都得到一個計數。我敢打賭,每次顯示帖子時都不需要獲取每個「喜歡」的詳細信息,因此最好不要將所有數據存儲在一個文檔中。 – WiredPrairie
你的意思是爲每個帖子或單個集合創建一個集合,將所有帖子中的所有喜歡集合在一起? @AndreasHultgren – Morrisda