相关疑难解决方法(0)

是否有一种规范的方法可以从特定的数据命名空间中获取所有标识?

说我有: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)

我应该向查询添加什么,或者是否有自动执行的功能?

clojure datomic

5
推荐指数
1
解决办法
480
查看次数

如何列出所有用户创建的属性?

我尝试使用下面的代码查找所有用户创建的属性,并返回许多其他默认属性,例如db/uniquefressian/tag.

我想得到一个没有它们的集合,所以我想知道是否有更好的方法来获得它比通过前缀过滤属性.

谢谢

(q {:find '[?ident]
    :where '[[:db.part/db :db.install/attribute ?p]
             [?p :db/ident ?ident]]} db)
Run Code Online (Sandbox Code Playgroud)

要么

(filter (partial instance? datomic.db.Attribute)
      (:elements (p/db)))
Run Code Online (Sandbox Code Playgroud)

clojure datomic

2
推荐指数
1
解决办法
460
查看次数

标签 统计

clojure ×2

datomic ×2