Как сохранить / сопоставить несколько дат на одну сущность в Google Datastore / GQL?

У меня есть лица, представляющие людей в Google Datastore. У каждого человека есть периоды (от даты / времени до даты / времени), которые они доступны для работы. Я хочу иметь возможность искать, какие люди доступны на определенную дату. Просто интересно, как смоделировать это и построить запрос (ы) GQL.

Очевидно, в Datastore есть свойство datetime, но у каждого человека будет несколько доступных дат и времени, и я не знаю заранее, сколько. Таким образом, я мог бы хранить даты и время в StringList в некотором синтаксисе даты и времени, но я предполагаю, что не могу выполнить «интеллектуальный» запрос даты / времени для этого (например, это моя дата поиска в пределах одного из периодов, указанных в этом имущество).

Поэтому я могу думать только о том, чтобы извлечь людей из Datastore (которые соответствуют другим критериям, например, геопространственным запросам), а затем проанализировать StringList «периодов» для каждой сущности человека в моем коде, чтобы выяснить, кто действительно доступен в моей дате / времени поиска , Или есть лучший, более автоматизированный способ?

Я думаю, что мои вопросы не зависят от языка, но я использую PHP на Google App Engine и PHP-GDS библиотека для доступа к хранилищу данных.

Большое спасибо за любые предложения или помощь!

1

Решение

Создайте новый объект с именем что-то вроде «AvailablePeriod». Вы можете сделать его дочерней сущностью пользователя. Сделать дату окончания индексированной. Для одного пользовательского объекта вы можете создать столько таких объектов, сколько необходимо.

Теперь вы можете легко запросить все периоды для определенного пользователя, которые еще не закончились.

2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]