Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Database 奖励计划数据建模_Database_Mongodb_Mongoose_Mongoose Schema - Fatal编程技术网

Database 奖励计划数据建模

Database 奖励计划数据建模,database,mongodb,mongoose,mongoose-schema,Database,Mongodb,Mongoose,Mongoose Schema,我把一个简单的数据放在一起,试图找出我需要为这个模型做些什么 在我的MERN应用程序中,这是一个奖励计划,我只想显示客户列表,一旦你点击客户,它会带你查看客户每月记录的购买量。我将使用React来计算客户在一个月内每次购买可获得多少奖励点数,以及每月的总奖励点数,以及3个月的总奖励点数 因此,基本上,数据库将只是客户及其购买,我将使用React计算奖励积分 因此,要将这个模型组合在一起,我需要一个像Customer.js这样的模型还是两个模型:Customer.js和Purchases.js 到

我把一个简单的数据放在一起,试图找出我需要为这个模型做些什么

在我的MERN应用程序中,这是一个奖励计划,我只想显示客户列表,一旦你点击客户,它会带你查看客户每月记录的购买量。我将使用React来计算客户在一个月内每次购买可获得多少奖励点数,以及每月的总奖励点数,以及3个月的总奖励点数

因此,基本上,数据库将只是客户及其购买,我将使用React计算奖励积分

因此,要将这个模型组合在一起,我需要一个像
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
          }
        ]
      }
      ]
    }]