gpt4 book ai didi

clojure - 有没有一种规范的方法可以从特定的原子命名空间中获取所有标识?

转载 作者:行者123 更新时间:2023-12-02 11:13:39 25 4
gpt4 key购买 nike

假设我已将 :user/name:user/gender 安装为数据模式。

(pprint (d/q '[:find ?ident :where
[?e :db/ident ?ident]
[_ :db.install/attribute ?e]] (d/db conn)))

查找所有 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 命名空间中的项目

[: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]}

关于clojure - 有没有一种规范的方法可以从特定的原子命名空间中获取所有标识?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14720909/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com