Получить все поля из двухатомной сущности
«Встроенный» разделDatomic Queries и правила Документ гласит:
Языки запросов, такие как SQL, ориентированы на модель клиент-сервер, где в одном разговоре вам понадобится и то и другое:
Ответьте на свой фундаментальный вопрос, например, кто купил носки в этом месяцеВосстановите любую дополнительную информацию, необходимую для отчетности и обработки, например, каковы их имена и адреса электронной почты.Последний не является на самом деле запросом, это просто механическая навигация к соответствующей информации.
Хотя я ценю то, как соблюдается ортогональность двух различных упомянутых аспектов, я думаю, что мне часто придется извлекать целую сущность независимо от ее атрибутов.
Насколько я знаю, запросы обычно имеют такую форму:
(datomic.api/q '[:find ?name ?age ?email
:where
[?e :myapp/name ?name]
[?e :myapp/age ?age]
[?e :myapp/email ?email]]
(db conn))
Если бы я хотел получить объекты, которые имеют N атрибутов, я бы попросил их перечислить их все в каждом запросе, что мне кажется утомительным и подверженным ошибкам.
Как заставить Datomic извлекать сущности со всеми полями, с которыми они были сохранены, без необходимости их явного указания?