【问题标题】:Eve: query by date range using 'where'Eve:使用“where”按日期范围查询
【发布时间】:2014-12-17 20:12:04
【问题描述】:

鉴于此示例 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}}'

但是,除非我拦截请求并将其转换为日期对象,否则 mongo 不会返回任何内容。我已将 start_date 定义为架构中的日期时间对象。

这是预期的行为吗?是否有另一种方法可以在不使用预请求挂钩和验证/转换某些键的日期时间字符串的情况下获得我想要的结果?

【问题讨论】:

    标签: eve


    【解决方案1】:

    试试这个:

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

    您应该在查询和/或 JSON 字段中传递 RFC1123 日期。

    【讨论】:

    • 太好了,看起来这就是 DATE_FORMAT 的用途。这些设置是否允许使用函数而不是字符串?我更喜欢使用日期更灵活的东西,比如 dateutil (我敢肯定你不想让它成为 eve 的依赖项)。
    猜你喜欢
    • 2012-01-11
    • 2018-04-10
    • 2017-11-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多