我有一组对象,其中包含在 Mongo 中可以预订酒店的日期。它看起来像这样,使用这里所说的 ISO 日期格式。
下面是文档的样子,试图在示例中保持简短。
available: [
{
"start":"2014-04-07T00:00:00.000000",
"end":"2014-04-08T00:00:00.000000"
},
{
"start":"2014-04-12T00:00:00.000000",
"end":"2014-04-15T00:00:00.000000"
},
{
"start":"2014-04-17T00:00:00.000000",
"end":"2014-04-22T00:00:00.000000"
},
]
现在,我需要查询两个日期,入住日期和退房日期。如果日期可用,Mongo 应该返回文档,否则不会。下面是几个测试用例:
2014-04-06 至 2014-04-08不应返回。
2014-04-13 至 2014-04-16不应返回。
2014-04-17 到 2014-04-21 应该返回。
我将如何将其形成为 Mongo 查询?使用$elemMatch看起来会是一个好的开始,但我不知道在那之后将它带到哪里,所以我在上面发布的所有三个示例都使用相同的查询。任何帮助表示赞赏。