我在使用基于MongoEngine的MongoDB文档结构,来表示一门课程,基本结构如下:
class Course(Document):
title=StringField()
tags=ListField(StringField())
...
schedule= ... #课程表
我关心的是课程表这个字段该怎么设计更合理。其要求是可以任意添加周一到周日的某几天,每天任选上午、下午、晚上三个时段,如果选择某个时间则要指定开始时间和截止时间
哪位知道可以给个提示
schedule 可以是一个数组,每个元素可以是这样的形式 2,1
2表示星期二,1表示上午
# 课程模型
class Course
include Mongoid::Document
include Mongoid::Timestamps
# 课程名
field :name, type: String
# 课程号,几个课程可以有同一个课程号
field :no, type: String
validates :no, presence: true
# 单周课表 like { mon: [1, 2], tue: [], wed: [7, 8], thu: [], fri: [], sat: [], sun: [] }
field :odd_schedule, type: Hash, default: {}
field :even_schedule, type: Hash, default: {}
...