Datomic 查找引用所有给定实体的实体
我有一个角色实体,它引用Datomic 查找引用所有给定实体的实体,datomic,Datomic,我有一个角色实体,它引用:Role/members中的用户实体 我需要返回作为所有给定:role/name成员的所有用户,例如: (ns myns.core (:require [datomic.api :as dat])) (def conn (dat/connect "datomic:mem://my-datomic")) (defn tempid [] (dat/tempid :db.part/user)) (def first-user-tempid (tempi
:Role/members
中的用户实体
我需要返回作为所有给定:role/name
成员的所有用户,例如:
(ns myns.core
(:require
[datomic.api :as dat]))
(def conn (dat/connect "datomic:mem://my-datomic"))
(defn tempid
[]
(dat/tempid :db.part/user))
(def first-user-tempid (tempid))
(def second-user-tempid (tempid))
(def third-user-tempid (tempid))
(def first-user {:db/id first-user-temp-eid
:user/name "first user"})
(def second-user {:db/id second-user-temp-eid
:user/name "second user"})
(def third-user {:db/id third-user-temp-eid
:user/name "third user"})
(def first-role {:db/id (tempid)
:role/name "first role"
:role/members [first-user third-user]})
(def second-role {:db/id (tempid)
:role/name "second role"
:role/members [second-user third-user]})
(def tx-report @(dat/transact conn
[first-user
second-user
third-user
first-role
second-role]))
(defn members-of
[db role-names]
....)
(->> ["first role"
"second role"]
(members-of (:db-after tx-report))
(map :user/name)) => ["third user"]
可能的重复可能的重复