0
入れ子構造(深く入れ子にすることもできます)があります。ネストされたエンティティはすべてコンポーネントとしてマークされます。創造はうまくいく。Datomic - 不足しているコンポーネントエンティティを自動的に後退させます。
{:db/id (d/tempid :db.part/user)
:tree/name "some tree"
:tree/nodes [{:node/name "Node1"
:node/prop "some prop"}
{:node/name "Node2"
:node/prop "another prop"}]}
ここで、上記のツリーが作成されたとします。私は、更新のためにそれを引くと、それは次のようになります。
{:db/id 1
:tree/name "some tree"
:tree/nodes [{:db/id 3
:node/name "Node2"
:node/prop "another prop"}]}
どのように私は、自動的にDB/IDが2のノードを削除するには:私は最初のノードを削除するUIから
{:db/id 1
:tree/name "some tree"
:tree/nodes [{:db/id 2
:node/name "Node1"
:node/prop "some prop"}
{:db/id 3
:node/name "Node2"
:node/prop "another prop"}]}
?私が考えることができるのは、ノードを引っ張って、それらを私が提出しているノードと比較することだけです。構造体をより深くネストすることができるので、コレクションを再帰的にトラバースする必要があります。これを行うための自動化された方法がありますか?
これは再帰、感謝を解決します。しかし、私はまだ最初のレベルのノードを手動で比較する必要があります。私は正直なところ、もっと自動化されたものを求めていました。 – Unknown