鍍金池/ 問答/數(shù)據(jù)庫/ mongoDB做一個評論系統(tǒng),應(yīng)該怎么設(shè)計數(shù)據(jù)表結(jié)構(gòu)?

mongoDB做一個評論系統(tǒng),應(yīng)該怎么設(shè)計數(shù)據(jù)表結(jié)構(gòu)?

一般評論系統(tǒng)是這樣的:

文章->文章的評論->評論的評論,用mysql就是兩張表,articles和comments表,“文章的評論”和“評論的評論”都保存在一張表comments中。

問題:
那么,用mongodb做同樣的事,應(yīng)該怎么設(shè)計數(shù)據(jù)表結(jié)構(gòu)呢?

回答
編輯回答
陌顏

mongo很適合做這樣的事情, 文章下面套一個評論的結(jié)構(gòu)。

大致結(jié)構(gòu):

{
    title: String,
    content: String,
    createTime: DateTime,
    comments: [
        userName: String,
        //可以考慮,這里只存放第一層嵌套。 嵌套里的評論以JSON字符串的形式存在(假設(shè)讀比寫多,這樣做查詢效率高。)
        content: String 
    ] 
}

不過具體還是要看需求。

  1. 評論是否作為單獨的概念出現(xiàn)。 如一些針對評論的統(tǒng)計。
  2. 評論的是否無限級嵌套。
  3. 評論是否頻繁需要修改,如點贊。
2017年11月15日 06:41