【问题标题】:Return the key from database query in Clojure从 Clojure 中的数据库查询中返回键
【发布时间】:2020-08-18 10:37:14
【问题描述】:

我是 Clojure 的新手,想知道在 clojure 中查询数据库时如何简单地返回值

我已经定义了一个函数 foo,如下所示:

(defn get-foo []
    (log/info "Getting foo from the database")
    (let [query "select FOO from BAR where FOO = 'test'"
        results (jdbc/query (db-connection) [query])]
        (log/info "Results: " results)
        (log/info "Foo: " (get :foo results)
        (log/info "String: " (apply str results))))

我在日志中看到的:

Results: ({:foo test})
Foo: nil
String: {:foo "test"}

我希望能够以某种方式只返回test,而不像在 clob 中那样附加值,理想情况下,有点像: (log/info "Foo: " results) 会返回:

Foo: test

【问题讨论】:

    标签: database clojure return key-value


    【解决方案1】:
    (log/info "Foo: " (:foo (first results)))
    

    返回:

    Foo: test
    

    【讨论】:

    • 我不确定这是否是最优化的方法,但它对我有用:)
    • 一个数据库查询通常会返回一系列哈希映射——结果集中的每一行都有一个哈希映射。
    • 哦,有道理 - 对于一个结果,只有一个序列,获取第一个序列,然后从 key 中获取值 - 谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多