представляет структуру данных дерева с несколькими родителями, чей родительский путь хранится в модели - PullRequest
0 голосов
/ 12 июня 2018

Я пытаюсь реализовать организационную структуру, в которой один пользователь может иметь более одного дочернего пользователя и родительского пользователя.Используя cosmosDB в качестве базы данных документов, я сохранил путь родительских пользователей в каждом пользовательском документе.

Структура данных пользователь документ

user1
path = null

user2
path = ["user1ID"]

user3
path = ["user2ID", "user1ID"]

user4
path = [["user1ID"], ["user3ID", "user2ID", "user1ID"]]

, где путь равен List<List<string>>()

Проблема: я написал логику, чтобы обновить пути пользователей и найти плоский список восходящих и потомковых пользователей.Проблема, с которой я сталкиваюсь, состоит в том, чтобы представить этот список пользователей в иерархии .

Ожидаемый вывод:

user1 -> 
        user2->
               user3->
                      user4
        user4

user2 -> 
        user3 ->
                user4

user3 -> 
        user4

user4 ->

В клиентской части я использую библиотеку JsTree дляпоказать иерархии пользователей.

Я искал много решений относительно этого, но не смог найти способ, который я ищу.Любая помощь будет оценена.

...