Almacenamiento de la jerarquía de directorios en un almacén de datos clave-valor

¿Qué es un método limpio / eficiente para almacenar el directorio Jerarquía / árbol en una base de datos de Key-Value (en mi caso MongoDB, pero cualquiera de ellos)?

Por ejemplo una estructura de árbol.

- Cars 
   + Audi 
   + BMW
      - M5
   + Ford
- Color
   + Red
      - Apple
      - Cherry
   + Purple
- Funny

El método que estoy usando ahora, cada objeto se enlaza a su padre

{ 
  dir: "red"
  parent-dir: "color"
}

Esto hace que sea muy eficiente / rápido para insertar y reordenar cualquier aspecto del árbol (por ejemplo, si quiero mover Rojo y todos sus hijos al directorio de Coches).

Pero este método apesta cuando quiero recursivamente a todos los subdirectorios y sus hijos para un directorio dado. Para que sea eficiente analizar puedo tener una estructura por ejemplo

{ 
  dir: "red"
  children: "audi, bmw, ford"
}

{ 
  dir: "bmw"
  children: "m5"
}

Pero si quiero modificar el árbol, es necesario tocar y modificar una gran cantidad de objetos.

¿Existen otros métodos para almacenar una estructura de directorios en un almacén KV?

Respuestas a la pregunta(4)

Su respuesta a la pregunta