【发布时间】:2020-06-04 21:49:27
【问题描述】:
我有一个像这样的 Datascript 数据库:
{:block/id {:db/unique :db.unique/identity}
:block/children {:db/cardinality :db.cardinality/many}
}
:block/children 包含其他块的:block/id
我一直在尝试编写一个查询来查找哪个块有另一个块作为其子块。
这是我尝试过的一个示例:
(ds/q '[:find ?parent-ds-id
:where
[1100 :block/id ?block-id]
[?parent-ds-id :block/children ?block-id]]
@conn)
我只是拿回空集作为回报。我应该如何打扮?block-id 以便我找回拥有?block-id 作为其孩子之一的块的实体ID? (每个区块只有一个父区块)
【问题讨论】:
-
如果你找不到Datascript的答案,
tupelo.forest也许能解决你的问题:github.com/cloojure/tupelo/blob/master/docs/forest.adoc
标签: clojure clojurescript datomic datalog datascript