历史数据查询
datomic query over history
查询数据数据库实体历史记录的所有属性的正确方法是什么?
例如,在查询中使用 pull API 或 pull 表达式,可以使用通配符打印给定实体的所有属性。但是,同样的方法对特殊历史数据库不起作用。
(d/q '[:find [(pull ?e [*]) ...] :where [?e :test/firstName "Bob"]] db-test)
; outputs list of Bob's properties
(d/q '[:find [(pull ?e [*]) ...] :where [?e :test/firstName "Bob"]] (d/history db-test))
; IllegalStateException Can't pull from history
您可以使用查询return所有历史记录的单个实体的所有数据:
(d/q '[:find ?e ?a ?v ?t ?op
:in $ ?e
:where [?e ?a ?v ?t ?op]]
(d/history (d/db conn)) <Your Entity ID>)
查询数据数据库实体历史记录的所有属性的正确方法是什么?
例如,在查询中使用 pull API 或 pull 表达式,可以使用通配符打印给定实体的所有属性。但是,同样的方法对特殊历史数据库不起作用。
(d/q '[:find [(pull ?e [*]) ...] :where [?e :test/firstName "Bob"]] db-test)
; outputs list of Bob's properties
(d/q '[:find [(pull ?e [*]) ...] :where [?e :test/firstName "Bob"]] (d/history db-test))
; IllegalStateException Can't pull from history
您可以使用查询return所有历史记录的单个实体的所有数据:
(d/q '[:find ?e ?a ?v ?t ?op
:in $ ?e
:where [?e ?a ?v ?t ?op]]
(d/history (d/db conn)) <Your Entity ID>)