У меня есть массив объектов, содержащих даты, когда отель доступен для бронирования в 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 должен вернуть документ, в противном случае - нет. Вот несколько тестовых примеров:
6 апреля 2014 г. TO 8 апреля 2014 г. НЕ возвращаться.
13 апреля 2014 TO 16 апреля 2014 НЕ возвращаться.
17 апреля 2014 TO 21 апреля 2014 должен вернуться.
Как я могу сформировать это в запросе Mongo? Использование $ elemMatch выглядело как хорошее start, но я не знаю, где его взять после этого, поэтому все три примера, которые я опубликовал выше, работают с одним и тем же запросом. Любая помощь приветствуется.