1
開始學習MongoDB + node.js. 爲了實踐我想創建收集數據和繪製圖表的webapp。但是我爲選擇MongoDB數據庫的數據模型遇到了很大的問題。MongoDB。我應該爲我的項目選擇哪種數據模型?
它現在是如何工作的,但我認爲這是糟糕的結構。
我的服務每小時從API檢索所有數據並將其收集到集合「帳戶」中。
主要問題:可以這麼做:每個小時的特殊對象「expStart」中的每個經驗值都由請求時間生成的唯一密鑰?
{
"_id" : ObjectId("54bd56cb699f4890160aacc9"),
"name" : "Shubiii",
"characters" : [
{
"online" : false,
"rank" : 562,
"dead" : false,
"name" : "ShrupShurp",
"league" : "hardcore",
"level" : 93,
"class" : "Ranger",
"experience" : 2515197599,
"expStat" : {
"dd2015_1_19_19_9" : 122120,
"dd2015_1_19_20_11" :45222
}
},
{
"online" : false,
"rank" : 563,
"dead" : false,
"name" : "ShrupShurp2",
"league" : "hardcore",
"level" : 93,
"class" : "Ranger",
"experience" : 2515197599,
"expStat" : {
"dd2015_1_19_19_9" : 3122120,
"dd2015_1_19_20_11" :21212
}
}
],
"challenges" : {
"total" : 3
},
"twitch" : {
"name" : ""
}
}這是API的數據結構(http://www.pathofexile.com/developer/docs/api):
{
"total": 15000,
"entries": [
{
"online": false,
"rank": 2,
"dead": false,
"character": {
"name": "iamgodyi",
"level": 100,
"class": "Ranger",
"experience": 4250334444
},
"account": {
"name": "TW_James",
"challenges": {
"total": 0
},
"twitch": {
"name": "destiny601"
}
}
},
{
"online": true,
"rank": 3,
"dead": false,
"character": {
"name": "xVisco",
"level": 100,
"class": "Templar",
"experience": 4250334444
},
"account": {
"name": "xVisco",
"challenges": {
"total": 0
}
}
}
]
}
對不起
結構從集 「賬戶」 一個文檔的我的英文。
你能解釋爲什麼你決定去這個模型? – chridam 2015-03-31 12:00:57
是的在我的情況下,如果我想檢索像等級等值,然後我很容易地檢索 – Logicbomb 2015-03-31 12:04:38
如果你有好主意,那麼你會張貼在這裏。 – Logicbomb 2015-03-31 12:05:27