说我有:user/name并:user/gender安装为数据模式。
(pprint (d/q '[:find ?ident :where
[?e :db/ident ?ident]
[_ :db.install/attribute ?e]] (d/db conn)))
Run Code Online (Sandbox Code Playgroud)
找到所有 db.install/attributes
#{[:db/code] [:user/gender] [:fressian/tag] [:db/unique] [:user/name] [:db/fn]
[:db/noHistory] [:db/fulltext] [:db/lang] [:db/valueType] [:db/doc]
[:db/isComponent] [:db.install/function] [:db/cardinality] [:db/txInstant] [:db/index]}
Run Code Online (Sandbox Code Playgroud)
但是,我只想列出 :user 命名空间中的项目
[:user/gender] [:user/name]
Run Code Online (Sandbox Code Playgroud)
我应该向查询添加什么,或者是否有自动执行的功能?
我想到了
(d/q '[:find ?ident :where
[?e :db/ident ?ident]
[_ :db.install/attribute ?e]
[(.toString ?ident) ?val]
[(.startsWith ?val ":user")]] (d/db *conn*))
;; => #{[:user/gender] [:user/firstName]}
Run Code Online (Sandbox Code Playgroud)