0

フォームを介して渡されるタイトルの一部を含むドキュメントについて、Mongodb にクエリを実行しようとしています。

(defn findmovie
 "Find movie by query"
 [query]
 (def search (str "#.*" (url-decode query) ".*"))
 (println search)
 (def movies (m/fetch :movie :where {:name {:$regex search}}))
 (println movies)
 (returnall movies)
)

queryここにパラメータがあります。()上記のコードは、何を入力しても空のコレクションを返します。

:nameisGladiator (2000):nameinの値の例:whereは次のようなものです#.*gladiator.*

4

1 に答える 1

1

正規表現を直接渡してみてください。

(defn findmovie
  "Find movie by query"
  [query]
  (let [search (re-pattern (str ".*" (url-decode query) ".*"))
        movies (m/fetch :movie :where {:name search})]
    (returnall movies)))
于 2013-09-30T22:28:00.073 に答える