0

免责声明:Clojure 菜鸟。

我正在尝试实现一个简单的get-shows函数来从 MongoDB 实例返回即将上映的节目。这将返回LazySeq长度为 3 的 a,这是我所期望的:

(defn get-shows []
  (let [date-str (f/unparse (f/formatters :basic-date-time) (t/now))]
    (mc/find-maps db "shows")))

但是当我向查询添加过滤器参数时,它返回一个空LazySeq

(defn get-shows []
  (let [date-str (f/unparse (f/formatters :basic-date-time) (t/now))]
    (mc/find-maps db "shows" {:date-time { $gte {$isoDate date-str} } })))

我使用了错误的日期格式吗?我需要以其他方式投射date-strISODate

我完全可以存储/查询原始时间戳,特别是如果这简化了查询,但我不确定如何在clj-time......

4

1 回答 1

0

您可能已经解决了这个问题,但是您是否尝试过这样的事情:

(defn get-shows []
  (let [date (java.util.Date.)]
    (mc/find-maps db "shows" {:date-time {"$gte" date}})))
于 2016-12-06T22:09:25.750 回答