Datomic - 如何收回属性的所有值
Datomic - how to retract all values of an attribute
我需要实体中特定属性的所有值(对于数据模式)。 retract 函数需要将属性的值作为参数传递,但它们太多了,我只需要将它们替换为新的一组值。是否可以通过clojure实现?
您可以查询所有值并在您的同行中生成所需的撤回,或者,如果您希望确保 "empty attrib" 在写入新值之前,请在交易功能中执行相同的操作。
(map (fn [v] [:db/retract eid attrib v])
(d/q '[:find [?v ...]
:in $ ?e ?a
:where [?e ?a ?v]
db
eid
attrib))
我需要实体中特定属性的所有值(对于数据模式)。 retract 函数需要将属性的值作为参数传递,但它们太多了,我只需要将它们替换为新的一组值。是否可以通过clojure实现?
您可以查询所有值并在您的同行中生成所需的撤回,或者,如果您希望确保 "empty attrib" 在写入新值之前,请在交易功能中执行相同的操作。
(map (fn [v] [:db/retract eid attrib v])
(d/q '[:find [?v ...]
:in $ ?e ?a
:where [?e ?a ?v]
db
eid
attrib))