Найти самую старую сущность с определенным атрибутом, который мог быть отозван в Datomic?

Я хочу найти самую старую сущность с атрибутом :app/type. Самый старый объект мог (а мог и не быть) отозван. Как я могу построить запрос, чтобы найти это?


person Johan    schedule 02.09.2016    source источник


Ответы (1)


Вы можете использовать функцию d/history, чтобы получить базу данных, в которой вы можете запрашивать все добавления и сокращения во времени.

Я не совсем уверен, чего вы хотите достичь, но этот запрос возвращает объект с самой старой транзакцией, включающей :app/type, идентификатор транзакции и добавление или удаление этого объекта.

(d/q '[:find ?e (min ?tx) ?added
       :where
       [?e :app/type ?v ?tx ?added]]
     (d/history db))
person ChrisBlom    schedule 06.09.2016