在使用 Datascript 时遇到了看似奇怪的问题。不知什么原因,当我不将该查询包裹在函数中运行时,一切正常。但是一旦我将它包裹在函数中,它就为数据库中的每个实体返回 :block/content 的值。我感到困惑,因为我之前从未在其他 Datascript 查询中遇到过此类问题。有没有比我更有经验的 Datascript 用户能看出任何问题?
;; Works fine and returns the correct value
(ds/q '[:find ?block-text
:where
[?id :block/id "l_63xa4m1"]
[?id :block/content ?block-text]]
@conn)
;; Returns every value for `:block/content` in the db
(defn content-find
[id-passed]
(ds/q '[:find ?block-text
:where
[?id :block/id ?id-passed]
[?id :block/content ?block-text]]
@conn))
(content-find "l_63xa4m1")