Ева: запрос по диапазону дат с использованием «где»

Учитывая этот пример curl, я ожидаю найти все события, которые начинаются после указанной даты.

events?where={"start_time": {"$gt": "2014-10-25T03:00:00Z"}}
curl -i -g 'http://127.0.0.1:5000/events?where={%22start_time%22:%20{%22$gt%22:%20%222014-10-25T03:00:00Z%22}}'

Однако монго ничего не возвращает, если я не перехватываю запрос и не превращаю его в объект даты. Я определил start_date как объект даты и времени в моей схеме.

Это ожидаемое поведение? Есть ли другой способ получить нужные мне результаты без использования ловушки предварительного запроса и проверки/преобразования строк даты и времени для определенных ключей?


eve
person KFunk    schedule 17.12.2014    source источник


Ответы (1)


Попробуй это:

events?where={"start_time": {"$gt": "Fri, 10 Oct 2014 03:00:00 GMT"}}

Вы должны передавать даты RFC1123 с вашими запросами и/или полями JSON.

person Nicola Iarocci    schedule 18.12.2014
comment
Отлично, похоже, для этого и нужен DATE_FORMAT. Разрешают ли эти настройки функции вместо строк? Я бы предпочел использовать что-то более гибкое с датой, например dateutil (я уверен, что вы не хотите делать это зависимостью для eve). - person KFunk; 19.12.2014