Armazenando hierarquia de diretórios em um armazenamento de dados de valor-chave

O que é um método limpo / eficiente para armazenar o diretório Hierarchy / tree em um banco de dados Key-Value (no meu caso, o MongoDB, mas qualquer um deles)?

Por exemplo, uma estrutura de árvore

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

O método que estou usando agora, cada objeto vincula ao pai

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

Isso faz com que seja muito eficiente / rápido inserir e reorganizar qualquer aspecto da árvore (por exemplo, se eu quiser mover o Red e todos os seus filhos para o diretório Cars).

Mas este método é uma droga quando eu quero todos os subdiretórios e seus filhos para um determinado diretório de forma recursiva. Para torná-lo eficiente para analisar, posso ter uma estrutura, por exemplo

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

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

Mas se eu quiser modificar a árvore, um monte de objetos precisa ser tocado e modificado.

Existem outros métodos para armazenar uma estrutura de diretórios em um armazenamento KV?

questionAnswers(4)

yourAnswerToTheQuestion