schedule.js 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. 'use strict';
  2. const Schema = require('mongoose').Schema;
  3. const moment = require('moment');
  4. const metaPlugin = require('naf-framework-mongoose-free/lib/model/meta-plugin');
  5. const { ObjectId } = require('mongoose').Types;
  6. // 赛程信息
  7. const schedule = {
  8. match_id: { type: String }, // 比赛id
  9. match_name: { type: String }, // 比赛名称
  10. red_id: { type: String }, // 比赛红方id
  11. red_name: { type: String }, // 比赛红方名称
  12. red_logo: { type: Array }, // 比赛红方logo
  13. red_members: { type: Array }, // 比赛红方成员
  14. blue_id: { type: String }, // 比赛蓝方id
  15. blue_name: { type: String }, // 比赛蓝方名称
  16. blue_logo: { type: Array }, // 比赛蓝方logo
  17. blue_members: { type: Array }, // 比赛蓝方成员
  18. branch: { type: Object }, // 比分
  19. integral: { type: Object }, // 积分
  20. match_time: { type: String }, // 比赛时间
  21. match_file: { type: Array }, // 比赛图片
  22. status: { type: String, default: '0' }, // 状态
  23. format: { type: Array }, // 赛制
  24. is_bye: { type: Boolean, default: false }, // 是否轮空, 轮空只有1个队伍
  25. remark: { type: String },
  26. };
  27. const schema = new Schema(schedule, { toJSON: { virtuals: true } });
  28. schema.index({ id: 1 });
  29. schema.index({ match_id: 1 });
  30. schema.index({ red_id: 1 });
  31. schema.index({ blue_id: 1 });
  32. schema.index({ match_time: 1 });
  33. schema.index({ status: 1 });
  34. schema.index({ 'meta.createdAt': 1 });
  35. schema.plugin(metaPlugin);
  36. module.exports = app => {
  37. const { mongoose } = app;
  38. return mongoose.model('Schedule', schema, 'schedule');
  39. };