Como modelar um relacionamento auto-referencial com muitos pais?
Eu quero modelar o seguinte da maneira mais fácil:
Uma habilidade tem muitas habilidades dependentes.
Cada habilidade deve existir por conta própria, e uma habilidade pode ter outras habilidades que são pré-requisitos.
Por exemplo:
Skill: Front-End Development Has Dependent Skills -> [HTML, CSS, SCSS]
Skill: Web-Design Has Dependent Skills -> [HTML, CSS]
Skill: HTML
Eu gostaria de poder fazer:
@front_end_development.dependent_skills ##or a more semantic mapping
Eu provavelmente gostaria de subir na árvore, mas não consigo pensar no melhor nome para fazê-lo. Talvez eu gostaria de referenciar através de HTML que o Web-Design depende disso.
Faz sentido fazer este auto-referencial ou é o fato de que isso está machucando meu cérebro um cheiro de código e implorar que algo mais é ideal? Tudo se resume a uma habilidade que depende de outras habilidades.
Seria melhor modelar isso usando o mongo?