tVehicleRecordModel.js 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. 'use strict';
  2. module.exports = app => {
  3. const mongoose = app.mongoose;
  4. const Schema = mongoose.Schema;
  5. const conn = app.mongooseDB.get('etlDB');
  6. // 入网车辆信息
  7. const TVehicleRecordSchema = new Schema({
  8. _id: { type: String }, // 主键,年月日 + 车辆vin
  9. vin: { type: String }, // 车辆VIN 车架号
  10. series_code: { type: String }, // 车系CODE
  11. series_name: { type: String }, // 车系名称
  12. sale_date: { type: Number }, // 销售日期戳
  13. is_saled_car: { type: Number }, // 车辆类型
  14. dealer_code: { type: String }, // 经销商CODE
  15. dealer_name: { type: String }, // 经销商名称
  16. pro_code: { type: String }, // 省编码 可能没有
  17. city_code: { type: String }, // 市编码 可能没有
  18. tsp_status: { type: String }, // T服务开通状态
  19. user_id: { type: Number }, // 用户ID 可能没有
  20. create_time: { type: Number }, // 创建时间,入网时间
  21. update_time: { type: Number }, // 更新时间戳
  22. model_code: { type: String }, // 车型CODE
  23. model_name: { type: String }, // 车型名称
  24. // 备注说明: 实销车:“user_id不为空&& "is_saled_car"=1
  25. // 非实销车:dealer_code,dealer_name字段为空
  26. });
  27. TVehicleRecordSchema.index({ create_time: -1 });
  28. TVehicleRecordSchema.index({ vin: -1 });
  29. TVehicleRecordSchema.index({ user_id: -1 });
  30. TVehicleRecordSchema.index({ user_id: -1, pro_code: -1, city_code: -1 });
  31. TVehicleRecordSchema.index({ vin: -1, series_code: -1, model_code: -1 });
  32. TVehicleRecordSchema.index({ is_saled_car: -1, sale_date: -1, user_id: -1 });
  33. TVehicleRecordSchema.index({ is_saled_car: -1, sale_date: -1, user_id: -1, series_code: -1, model_code: -1 });
  34. TVehicleRecordSchema.index({ is_saled_car: -1, sale_date: -1, user_id: -1, series_code: -1, model_code: -1, pro_code: -1, city_code: -1 });
  35. TVehicleRecordSchema.index({ create_time: -1, series_code: -1, model_code: -1 });
  36. TVehicleRecordSchema.index({ create_time: -1, series_code: -1, model_code: -1, is_saled_car: -1, sale_date: -1, user_id: -1 });
  37. return conn.model('TVehicleRecord', TVehicleRecordSchema, 't_vehicle_record');
  38. };