ツリー ノードを含むドキュメント コレクションと、次のような「の子」を含むエッジ コレクションがあります。
Folders=[
{_key:"1",name:"Root1"},
{_key:"2",name:"Root2"},
{_key:"3",name:"Root1.Node1"},
{_key:"4",name:"Root1.Node2"}]
FolderRelations=[
{_from:"Folders/3",_to:"Folders/1"},
{_from:"Folders/4",_to:"Folders/1"}
]
次に、そのツリーのルート オブジェクト (アウトバウンド リレーションを持たないすべてのオブジェクト) であるフォルダー アイテムを特定したいと思います。
たぶん、私はSQLの考え方に少し行き詰まっています。次のようなことを実行したいと思います:
SELECT *
FROM Folders
WHERE NOT EXIST (SELECT * FROM FolderRelations WHERE FolderRelations.FromKey=Folders.Key)
トラバーサルとパス機能を使用するために、最初から頂点がありません。