0

免責事項: Clojure初心者。

get-showsMongoDB インスタンスから今後のショーを返す単純な関数を実装しようとしています。これは、長さ 3 の a を返しますLazySeq。これは、私が期待するものです。

(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-strとしてキャストする必要がありますか?ISODate

特にクエリを簡素化する場合は、代わりに生のタイムスタンプを保存/クエリしてもまったく問題ありませんが、それを行う方法がわかりません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 に答える