2016-06-05 4 views
0

면책 조항 : Clojure noob.Clojure의 MongoDB ISODate (monger/clj-time)에 의한 쿼리

MongoDB 인스턴스에서 예정된 프로그램을 반환하는 간단한 get-shows 함수를 구현하려고합니다.

(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} } }))) 

를 이것은 내가 기대했던 것입니다 길이 3의 LazySeq 반환 잘못된 날짜 형식입니까? 다른 방법으로 date-strISODate으로 캐스팅해야합니까? ,

답변

0

당신은 아마 이미이 문제를 해결 한 ...

는 그 쿼리를 단순화 특히,/저장하는 대신 원시 타임 스탬프를 쿼리와 완전히 괜찮아,하지만 난 clj-time에 그 작업을 수행하는 방법을 잘 모르겠어요 하지만 다음과 같이 시도해 보셨습니까?

(defn get-shows [] 
    (let [date (java.util.Date.)] 
    (mc/find-maps db "shows" {:date-time {"$gte" date}})))