@Arik

Как правильно организовать статусы свободно/занято/резерв в периоды времени на монгоДБ?

Есть модели в бд, к ним надо сделать статусы: свободно, занято и резерв.
Интерфейс поиска (выборки):
- указывают даты от и до
- указывают чекбокс "в том числе и резерв"

Монго не умеет делать join'ы, как правильно тут поступить?
Хранить в массиве даты? Но как делать выборку?

Допустим одна запись имеет поле/данные

dates: [
[2015-01-01, 2015-01-07],
[2015-02-01, 2015-02-07],
[2015-06-01, 2015-06-07, 'reserv'],
[2015-09-01, 2015-09-17],
]

Если дата есть в массиве и нет метки "reserv" - занято,
Если есть метка "reserv", то резерв
Если периода вообще нет, то свободно.

МонгоДБ должен взять первое значение из массив, проверить попадает период или нет AND есть метка или нет. Если не попал ни в один период, значит запись надо вернуть.

Есть какой нибудь оператор в монгоДБ, который гуляет по массиву подобным способом? Или может есть другой способ хранить все это и делать выборку?

Спасибо
  • Вопрос задан
  • 2380 просмотров
Решения вопроса 1
Есть какой нибудь оператор в монгоДБ, который гуляет по массиву подобным способом?

Да, только еще проще: пишете запрос к самому массиву. Монга пройдет по всем элементам и проверит, не удовлетворяет ли хоть один из них указанным условиям.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
19 апр. 2024, в 13:31
10000 руб./за проект
19 апр. 2024, в 13:12
35000 руб./за проект
19 апр. 2024, в 13:06
6000 руб./за проект