order.js 983 B

12345678910111213141516171819202122232425262728
  1. 'use strict';
  2. const Schema = require('mongoose').Schema;
  3. const moment = require('moment');
  4. const metaPlugin = require('naf-framework-mongoose/lib/model/meta-plugin');
  5. const { ObjectId } = require('mongoose').Types;
  6. const meal = new Schema({
  7. list: { type: Array }, // 点餐内容
  8. reserve: { type: Number, default: 0 }, // 卡路里,热量
  9. is_use: { type: Boolean, default: false }, // 是否使用
  10. });
  11. // 订餐表
  12. const order = {
  13. user_id: { type: String, required: true }, // 用户openid
  14. date: { type: String, required: true }, // 日期
  15. breakfast: { type: meal }, // 早餐
  16. lunch: { type: meal }, // 午餐
  17. dinner: { type: meal }, // 晚餐
  18. remark: { type: String },
  19. };
  20. const schema = new Schema(order, { toJSON: { virtuals: true } });
  21. schema.index({ id: 1 });
  22. schema.index({ date: 1 });
  23. schema.index({ 'meta.createdAt': 1 });
  24. schema.plugin(metaPlugin);
  25. module.exports = app => {
  26. const { mongoose } = app;
  27. return mongoose.model('Order', schema, 'order');
  28. };