¿Cómo modelar una relación auto-referencial con muchos padres?

Quiero modelar lo siguiente de la manera más fácil:

Una habilidad tiene muchas habilidades dependientes.

Cada habilidad debe existir por sí misma, y ​​una habilidad puede tener otras habilidades que son habilidades de requisito previo.

Por ejemplo:

Skill: Front-End Development Has Dependent Skills -> [HTML, CSS, SCSS]
Skill: Web-Design Has Dependent Skills -> [HTML, CSS]
Skill: HTML

Me gustaría poder hacer:

@front_end_development.dependent_skills ##or a more semantic mapping

Probablemente me gustaría subir por el árbol, pero no puedo pensar en el mejor nombre para hacerlo. Tal vez me gustaría hacer referencia a través de HTML que el diseño web depende de ello.

¿Tiene sentido hacer que esto sea auto-referencial o el hecho de que esto esté dañando mi cerebro sea un olor de código y suplica que otra cosa es ideal? Todo se reduce a una habilidad que depende de otras habilidades.

¿Sería mejor modelar esto usando mongo?

Respuestas a la pregunta(1)

Su respuesta a la pregunta