我有一個對象數組,其中包含Mongo內預訂酒店的日期。它看起來像這樣,使用ISO日期格式作爲here。MongoDB - 查詢可用的日期範圍和酒店的日期範圍
下面是文檔的樣子,試圖在示例中保持簡短。
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年4月6日TO2014年4月8日應該不回報。
2014年4月13日TO2014年4月16日應該不回報。
2014年4月17日TO2014年4月21日應該回報。
我該如何解決Mongo查詢?使用$elemMatch看起來像是一個好的開始,但是我不知道在哪裏使用它,所以我上面發佈的所有三個示例都使用相同的查詢。任何幫助表示讚賞。