3

假设我有author许多相关实体的book实体。获取书籍数量最多的作者的查询是什么?

4

1 回答 1

3

好的。由于我自己找到了答案 - 我将其发布在这里以防有人搜索:

解决方案是构建两个 datomic 查询,将第一个的输出传递到第二个。

(->>
  (d/q '[:find (count ?b) ?a :where [?a :author/books ?b]] db)
  (d/q '[:find (max ?count) ?a :in $ [?count ?a]] db))

据我所知,这是在 datomic 中处理不太重要的查询的常用方法 - 将其拆分为几个子查询并链接在一起,让数据库完成它的工作。

于 2015-02-27T14:59:08.193 回答