我試圖做一個類似於雅虎的網站& Answer或StackOverflow(不同的類別,沒有競爭),並且我被困在這一點上,我會非常感謝任何指導來自你們,因爲我對MongoDB非常陌生。(MongoDB)問答網站的數據庫結構
順便說一句,我在Node.js和MongoDB上使用Express框架。
問題是要找到最有效的方式來爲用戶和問題/答案數據構建數據庫。
目前,有一個問題模型,裏面有一個文件爲每個類別。每個文件包含的問題本身的答案,和其他信息,如下所述:
math{
OpenQuestions{
'x+2=5, whats x?' : {
asker: 'peter',
likes: 12,
answers: {
'x is 3' : {
answerer: 'john',
likes: 25
},
'x is 2' : {
answerer: 'MATHSUX',
likes: 0
}
}
}
}
ClosedQuestions{
//same as OpenQuestions
}
}
通過這種方式,很容易顯示的問題,我們可以輕鬆地檢索基於對象的創建時間問題,並據此獲取它們在主要問題頁面上。
然而,如果一個用戶希望看到他問的問題,我能想到的唯一的辦法就是要通過每個subject.OpenQuestions.QuestionItSelf.asker
,並檢查它是否是用戶自己,然後獲取所有對象爲這個用戶名相匹配,這將是一個巨大的計算。我相信有更好的方法,你們都在想什麼?
我認爲可以安全地說,你將有超過每個主題16meg的文件,所以不要嵌入 – Sammaye