我的数据库中有很多办公室,每个办公室都有自己的营业时间(例如: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)
或者尝试另一种方法?
我建议使用 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)
| 归档时间: |
|
| 查看次数: |
2247 次 |
| 最近记录: |