如何从返回的映射中获取生成的密钥。它似乎以"()"结尾,我似乎不能像常规键一样使用它。
(defn create-map-db [mapname]
(insert! db-settings :MAP_TABLE {:M_NAME mapname})
)
(first (create-map-db "Moskau"))
=> {:scope_identity() 3}
(type (first (create-map-db "Moskau")))
=> clojure.lang.PersistentArrayMap
(get (first (create-map-db "Moskau")) :scope_identity())
=> ()
(get (first (create-map-db "Moskau")) :scope_identity)
=> nil
我可以看到以下内容是最便携的解决方案:
(first (vals (first (create-map-db "Moskau"))))
但是,如果您真的想要,则可以使用以下方法直接访问密钥:
(def generated-key (keyword "scope_identity()"))
(generated-key (first (create-map-db "Moskau")))
这也可用于获取所有生成的密钥:
(map generated-key (create-map-db "Moskau"))