【发布时间】:2021-08-17 01:07:34
【问题描述】:
我想获取 Datomic 中特定字段的值的历史记录。
我的直觉是用(d/history)like
(d/q '[:find ?entity ?field-val ?date ?tx
:in $
:where
[?entity :namespace/field ?field-val ?tx]
[?tx :db/txInstant ?date]]
(d/history (db/get-db)))
但是,此查询将重复大多数值,因为它会列出每次撤回以及每次值更新(每个 db/add 和 db/retract)。
我想也许我可以用事务查询 datoms,然后检查操作。但我找不到查询数据的方法。
-
(d/pull db '[*] tx-id)不包括 datoms。 - 搜索引擎结果对诸如“查询 datomic transaction datoms”之类的关键字没有帮助
- 搜索 datomic 事务模式没有结果
我可以使用tx-range,但这似乎不太合适。
有更好的方法吗?
【问题讨论】: