資料庫Schema

編輯歷史

時間 作者 版本
2017-07-03 09:28 (unknown) r2
顯示 diff
- 資料庫Schema
+ 資料庫Schema
以後直接在這邊修改,留下紀錄吧
最近更新是根據8/16的討論後重新設計的DB Schema
(83 行未修改)
2017-07-01 15:27 – 15:27 (unknown) r0 – r1
顯示 diff
+ 資料庫Schema
+ 以後直接在這邊修改,留下紀錄吧
+ 最近更新是根據8/16的討論後重新設計的DB Schema
+ https://g0v.hackpad.com/X2h4X1iYek7
+
+ DB使用Mongo
+
+ Collection -News:抓取到的新聞
+ *欄位:
+ *[_id]:預設主鍵。內容物為ObjectID。
+ *[newspaper]:此新聞所屬媒體。內容物為字串。
+ *[topicId]:此新聞歸屬議題,由後臺指派。內容物為ObjectID陣列,ObjectID對應Collection-Topic的主鍵。
+ *[title]:新聞標題。內容物為字串。
+ *[article]:新聞內容。內容物為字串。
+ *[newsTime]:新聞發布時間。內容物為Date物件。
+ *[createTime]:資料建立時間。內容物為Date物件。
+ *[updateTime]:資料更新時間。內容物為Date物件。
+ *[author]:新聞作者。內容物為字串。
+ *[picture]:新聞相關圖片。內容物為網址字串陣列。
+ *[sourceUrl]:新聞來源網址。內容物為字串。
+ *[score]:新聞分數,定時依據Collection -Comment的資料計算而出。內容物為物件,各屬性分別儲存不同類別、評論員等級的分數。
+ *索引:
+ *主鍵:[_id],唯一性。
+ *索引:[topicId], [newsTime]。
+ *Unique: [_id], [sourceUrl]
+
+ Collection -Topic:議題列表,由後臺編輯。
+ *欄位:
+ *[_id]:預設主鍵。內容物為ObjectID。
+ *[name]:String = 議題名稱。內容物為字串。
+ *[description] : String = 議題介紹
+ *[sort]:Number = 在App顯示時的排序,直接由後臺設定。內容物為數字。設為null時不顯示該議題。
+ *[topicTagSet]:議題關鍵字。內容物為字串陣列。
+ *[score] : Object = 本議題目前的發霉分數,定時依據Collection -Comment的資料計算而出。內容物為物件,各屬性分別儲存不同類別、評論員等級的分數。
+ *[photo] : String = 議題照片URL
+ *[createdTime] : Time = 議題開始時間
+ *[latestTime] : Time = 議題最後更新時間,指派新聞至某議題時亦會更新此時間。內容物為Date物件。
+ *索引:
+ *主鍵:[_id],唯一性。
+ *Unique: [_id], [name]
+ *索引:[sort]。
+
+ Collection-Comment:評論列表,來源為App使用者評論。
+ *欄位:
+ *[_id]:預設主鍵。內容物為ObjectID。
+ *[news]:評論的新聞。內容物為ObjectID,對應至Collection-News的主鍵。
+ *[user]:評論者。內容物為字串,對應至使用者資料的主鍵。
+ *[level]:評論等級,紀錄評論者評論時的會員等級(註冊、認證、專家)。內容物為字串。
+ *[version]:評論時所使用的評論機制版本。內容物為字串。
+ *[score]:評論分數,當評論送出後,後臺依據評論機制版本與評論選項內容計算而出。內容物為數字。
+ *[data]:評論資料,記錄使用者送出評論時勾選跟填入的所有資料。可能會有的論述亦存在其中,顯示時前段依評論機制版本取出展示。內容物為物件,物件格式依評論機制版本而有不同。
+ *索引:
+ *主鍵:[_id],唯一性。
+ *唯一鍵:[news]+[user],唯一性。
+ *索引:[news]+[level]+[version]+[score]。
+ *
+ Collection-Discuss:討論資料,來源為App使用者對新聞的討論。
+ *欄位:
+ *[_id]:預設主鍵。內容物為ObjectID。
+ *[news]:評論的新聞。內容物為ObjectID,對應至Collection-News的主鍵。
+ *[user]:評論者。內容物為字串,對應至使用者資料的主鍵。
+ *[like]:按讚紀錄。內容物為字串陣列,對應至使用者資料的主鍵。
+ *[dislike]:按噓紀錄。內容物為字串陣列,對應至使用者資料的主鍵。
+ *索引:
+ *主鍵:[_id],唯一性。
+ *索引:[news]。
+ *索引:[user]。
+
+ Collection-users:使用者資料。(這裡大部份是meteor帳號系統的預設值)
+ *欄位:
+ *[_id]:預設主鍵。內容物為字串。
+ *[username]:使用者帳號。內容物為字串。
+ *[email]:使用者Email,內容物為物件陣列。
+ *[profile]:使用者資訊,含等級與經驗值等。內容物為物件。
+ *[services]:使用者登入資訊,含加密之密碼及facebook登入token等資料。
+ *[createdAt]:使用者註冊日期,內容物為日期物件。
+ *索引:
+ *主鍵:[_id],唯一性。
+ *索引:[username],唯一性。
+ *
+
+
+ *
+ *
+ *