首页 > MongoDB/Mongoengin 如果设计一个课程表字段

MongoDB/Mongoengin 如果设计一个课程表字段

我在使用基于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: {}
...
【热门文章】
【热门文章】