Metode yang saat ini Anda gunakan disebut model daftar adjacency.
Model lain untuk menyimpan data hierarkis dalam database (relasional) adalah model kumpulan bersarang. Implementasinya dalam database SQL sudah terkenal. Lihat juga artikel ini untuk algoritma traversal pohon praorder yang dimodifikasi.
Metode yang sangat sederhana:Anda dapat menyimpan jalur per objek - dengan jalur tersebut seharusnya mudah untuk membuat kueri pohon di database NOSQL:
{ path: "Color", ... }
{ path: "Color.Red", ... }
{ path: "Color.Red.Apple", ... }
{ path: "Color.Red.Cherry", ... }
Ketika node akan dihapus atau diganti namanya, beberapa jalur harus diperbarui. Namun secara umum, metode ini terlihat menjanjikan. Anda hanya perlu memesan karakter khusus sebagai pemisah. Overhead ruang penyimpanan seharusnya dapat diabaikan.
edit:metode ini disebut jalur terwujud
Terakhir, berikut adalah perbandingan berbagai metode untuk data hierarkis dalam database NOSQL.