有没有一个规范的方法来抓住所有的idents从一个特定的数据分区? [英] is there a canonical way to grab all idents from a particular datomic partition?
本文介绍了有没有一个规范的方法来抓住所有的idents从一个特定的数据分区?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
说我有作为数据库模式安装的:user / name
和:user / gender
say I had :user/name
and :user/gender
installed as datomic schema.
(pprint (d/q '[:find ?ident :where
[?e :db/ident ?ident]
[_ :db.install/attribute ?e]] (d/db conn)))
查找所有db.install / attributes
finds all the 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]}
但是,我只想列出以下项目:user namespace
however, I only want to list items in the :user namespace
[:user/gender] [:user/name]
推荐答案
我想出来了
(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]}
这篇关于有没有一个规范的方法来抓住所有的idents从一个特定的数据分区?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文