Database 奖励计划数据建模
我把一个简单的数据放在一起,试图找出我需要为这个模型做些什么 在我的MERN应用程序中,这是一个奖励计划,我只想显示客户列表,一旦你点击客户,它会带你查看客户每月记录的购买量。我将使用React来计算客户在一个月内每次购买可获得多少奖励点数,以及每月的总奖励点数,以及3个月的总奖励点数 因此,基本上,数据库将只是客户及其购买,我将使用React计算奖励积分 因此,要将这个模型组合在一起,我需要一个像Database 奖励计划数据建模,database,mongodb,mongoose,mongoose-schema,Database,Mongodb,Mongoose,Mongoose Schema,我把一个简单的数据放在一起,试图找出我需要为这个模型做些什么 在我的MERN应用程序中,这是一个奖励计划,我只想显示客户列表,一旦你点击客户,它会带你查看客户每月记录的购买量。我将使用React来计算客户在一个月内每次购买可获得多少奖励点数,以及每月的总奖励点数,以及3个月的总奖励点数 因此,基本上,数据库将只是客户及其购买,我将使用React计算奖励积分 因此,要将这个模型组合在一起,我需要一个像Customer.js这样的模型还是两个模型:Customer.js和Purchases.js 到
Customer.js
这样的模型还是两个模型:Customer.js
和Purchases.js
到目前为止,我为Customer.js整理了以下内容:
const mongoose = require('mongoose');
const CustomerSchema = new mongoose.Schema({
name: {
type: String
},
account: {
type: String
},
purchase: {
type: Number
},
purchase_date: {
type: Date
}
});
module.exports = Customer = mongoose.model('customer', CustomerSchema);
以下是我的数据示例:
[
[
{
"account": "ABC123",
"name": "John Doe",
"purchase-history": [
{
"month1": "January",
"transitions": [
{
"date": "01/01/20",
"purchase": 120
},
{
"date": "01/03/20",
"purchase": 195
},
{
"date": "01/15/20",
"purchase": 49
},
{
"date": "01/23/20",
"purchase": 63
}
]
},
{
"month2": "February",
"transitions": [
{
"date": "02/01/20",
"purchase": 120
},
{
"date": "02/03/20",
"purchase": 85
},
{
"date": "02/15/20",
"purchase": 300
},
{
"date": "02/23/20",
"purchase": 51
}
]
},
{
"month3": "March",
"transitions": [
{
"date": "03/01/20",
"purchase": 120
},
{
"date": "03/03/20",
"purchase": 225
},
{
"date": "03/15/20",
"purchase": 9
},
{
"date": "03/23/20",
"purchase": 72
}
]
},
{
"month4": "April",
"transitions": [
{
"date": "04/03/20",
"purchase": 195
},
{
"date": "04/23/20",
"purchase": 63
}
]
},
{
"month5": "May",
"transitions": [
{
"date": "05/01/20",
"purchase": 161
},
{
"date": "05/03/20",
"purchase": 155
},
{
"date": "05/15/20",
"purchase": 52
},
{
"date": "05/23/20",
"purchase": 84
}
]
}
]
},
{
"account": "ACD134",
"name": "Nancy Drew",
"purchase-history": [
{
"month1": "January",
"transitions": [
{
"date": "01/01/20",
"purchase": 130
},
{
"date": "01/03/20",
"purchase": 185
},
{
"date": "01/15/20",
"purchase": 59
},
{
"date": "01/23/20",
"purchase": 33
}
]
},
{
"month2": "February",
"transitions": [
{
"date": "02/01/20",
"purchase": 110
},
{
"date": "02/03/20",
"purchase": 25
},
{
"date": "02/15/20",
"purchase": 340
},
{
"date": "02/23/20",
"purchase": 71
}
]
},
{
"month3": "March",
"transitions": [
{
"date": "03/01/20",
"purchase": 150
},
{
"date": "03/03/20",
"purchase": 215
},
{
"date": "03/15/20",
"purchase": 49
},
{
"date": "03/23/20",
"purchase": 82
}
]
},
{
"month4": "April",
"transitions": [
{
"date": "04/03/20",
"purchase": 125
},
{
"date": "04/23/20",
"purchase": 83
}
]
},
{
"month5": "May",
"transitions": [
{
"date": "05/01/20",
"purchase": 181
},
{
"date": "05/03/20",
"purchase": 115
},
{
"date": "05/15/20",
"purchase": 62
},
{
"date": "05/23/20",
"purchase": 14
}
]
}
]
}]