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 回答