所以想象一个人有每日安排。他每天都有一个时间范围可供他使用。
{
"_id": "ObjectId("5570ff8dc7234868035138c9")",
"name": "John Doe",
"schedule": [
{
"day": 1, // monday
"from_hour": 10, // time range
"from_minute": 30,
"to_hour": 11,
"to_minute": 0
},
{
"day": 2, // tuesday
"from_hour": 9, // time range
"from_minute": 0,
"to_hour": 12,
"to_minute": 0
},
{
"day": 5, // friday
"from_hour": 10, // time range
"from_minute": 30,
"to_hour": 11,
"to_minute": 0
}
]
}
用户可以在可用日期为此人添加约会。约会看起来像这样。
{
"_id": "ObjectId("5570ff8dc7234868035138c9")",
"from_time": "2015-07-15T03:30:00.000Z", // UTC time for Monday, 15-6-2015 10:30
"to_time": "2015-07-15T04:00:00.000Z" // UTC time for Monday, 15-6-2015 11:00
}
现在,假设有另一个人想要在特定日期之后找到某个人的可用时段。如何进行此查询?我一直在想各种方法,但没有结果。请帮忙。
编辑如果有人有比这更好的架构,我全都耳朵。这是我能想到的全部。感谢。