Den metode, du i øjeblikket bruger, kaldes adjacency list model.
En anden model til at gemme hierarkiske data i en (relationel) database er den indlejrede sæt-model. Dens implementering i SQL-databaser er velkendt. Se også denne artikel for den ændrede forudbestillings-trægennemløbsalgoritme.
En meget simpel metode:du kan gemme en sti pr. objekt - med dem skulle det være nemt at forespørge træer i NOSQL-databaser:
{ path: "Color", ... }
{ path: "Color.Red", ... }
{ path: "Color.Red.Apple", ... }
{ path: "Color.Red.Cherry", ... }
Når noder fjernes eller omdøbes, skal nogle stier opdateres. Men generelt ser denne metode lovende ud. Du skal blot reservere et specialtegn som separator. Lagerpladsen overhead bør være ubetydelig.
rediger:denne metode kaldes materialiseret sti
Til sidst er her en sammenligning af forskellige metoder til hierarkiske data i NOSQL-databaser.