matchteam.js 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738
  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 matchteam = {
  8. match_id: { type: String }, // 比赛id
  9. match_name: { type: String }, // 比赛名称
  10. team_id: { type: String }, // 参赛团队id
  11. team_name: { type: String }, // 参赛团队名称
  12. logo: { type: Array }, // 参赛团队logo
  13. create_id: { type: String }, // 参赛团队创建id
  14. create_user: { type: String }, // 参赛团队创建人
  15. create_time: { type: String }, // 参赛团队创建时间
  16. members: { type: Array }, // 参赛团队成员
  17. match_num: { type: String }, // 参赛团队人数
  18. apply_time: { type: String }, // 申请时间
  19. win: { type: String }, // 赢
  20. shu: { type: String }, // 输
  21. integral: { type: String }, // 积分
  22. rank: { type: String }, // 名次
  23. status: { type: String, default: '0' }, // 状态
  24. format: { type: Array }, // 赛制
  25. remark: { type: String },
  26. };
  27. const schema = new Schema(matchteam, { toJSON: { virtuals: true } });
  28. schema.index({ id: 1 });
  29. schema.index({ match_id: 1 });
  30. schema.index({ team_id: 1 });
  31. schema.index({ create_id: 1 });
  32. schema.index({ status: 1 });
  33. schema.index({ 'meta.createdAt': 1 });
  34. schema.plugin(metaPlugin);
  35. module.exports = app => {
  36. const { mongoose } = app;
  37. return mongoose.model('Matchteam', schema, 'matchteam');
  38. };