エンティティとそのタイムスタンプに興味があります。基本的に、エンティティの時間順のリストが必要です。
そのために、次の関数を作成しました。
(defn return-posts
"grabs all posts from Datomic"
[]
(d/q '[:find ?title ?body ?slug
:where
[?e :post/title ?title]
[?e :post/slug ?slug]
[?e :post/body ?body]] (d/db connection)))
(defn get-postid-from-slug
[slug]
(d/q '[:find ?e
:in $ ?slug
:where [?e :post/slug ?slug]] (d/db connection) slug))
(defn get-post-timestamp
"given an entid, returns the most recent timestamp"
[entid]
(->
(d/q '[:find ?ts
:in $ ?e
:where
[?e _ _ _]
[?e :db/txInstant ?ts]] (d/db connection) entid)
(sort)
(reverse)
(first)))
無知に根ざしたハックに違いないと私は感じています。
慣用的な Datomic の使用法に詳しい人が介入して、私のパラダイムをアップグレードしてくれるでしょうか?