在 MongoDB 中存储营业时间

Tha*_*ang 1 schema mongodb

我的数据库中有很多办公室,每个办公室都有自己的营业时间(例如:7:00 到 17:00)。

我应该像这样存储营业时间吗:

{
"_id" : ObjectId("59747cfabb8dd11e30310a92"),
"name" : "CE",
"value" : "Compact Enterprise",
"operation_time_start": "7:00", -> string value
"operation_time_end": "17:00" -> string value
}
Run Code Online (Sandbox Code Playgroud)

或者尝试另一种方法?

Sim*_*ndi 5

我建议使用 0 - 1440 范围内的整数,每个数字都是一分钟的增量。通过这种方式,您可以在查询中使用 $gte 和 $lte 示例:

{
"_id" : ObjectId("59747cfabb8dd11e30310a92"),
"name" : "CE",
"value" : "Compact Enterprise",
"operation_time_start": 420
"operation_time_end": 1020
}
Run Code Online (Sandbox Code Playgroud)

作为附加建议,请考虑开放时间可能会根据星期几而有所不同,因此也许更好的模式可以是这样的:

{
"_id" : ObjectId("59747cfabb8dd11e30310a92"),
"name" : "CE",
"value" : "Compact Enterprise",
"operations: {
   "1": {start: 420, end: 1020 },   -> operation time for dayOfWeek = 1
   "2": {start: 420, end: 1020 },   -> operation time for dayOfWeek = 2
    .....
   }
}
Run Code Online (Sandbox Code Playgroud)