查找一个人的下一个可用日期

时间:2015-06-10 07:48:58

标签: mongodb mongodb-query

所以想象一个人有每日安排。他每天都有一个时间范围可供他使用。

{
    "_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
}

现在,假设有另一个人想要在特定日期之后找到某个人的可用时段。如何进行此查询?我一直在想各种方法,但没有结果。请帮忙。

编辑如果有人有比这更好的架构,我全都耳朵。这是我能想到的全部。感谢。

0 个答案:

没有答案