2016-12-12 2 views
0

Я создаю приложение, в котором есть много пользователей, которые зависят друг от друга.Firebase Angular2 family tree Структура

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

Вот еще один пример, что великая бабушка будет первым пользователем, которым она передаст свой ключ к бабушке (теперь у бабушки два ключа свой основной и справочный ключ от великой бабушки), а бабушка передаст свой первичный ключ маме. Теперь у мамы будут оба (первичный ключ и внешний ключ). Если она решит иметь ребенка, процесс продолжится в этом порядке.

Теперь мой вопрос: как я могу перечислить это поколение от великой бабушки к ребенку в одном представлении в firebase с таким количеством задействованных клавиш?

Код:

firebase.database().ref(users).orderBy('order by which key') ? 

HTML:

<ul *ngFor="fam of family"> 
    <li fam[key].username></li>which key goes in here....? 
</ul> 

ответ

1

Я хотел бы создать узел генеалогическое дерево со списком всех пользователей:

families: { 
    "MTQ4MTUzNzc0NDYwNw": { 
    name: "smith", 
    users: { 
     "MTQ4MTUzNzc0NzU0Mw": true, 
     "MTQ4MTUzNzc0OTk0NQ": true, 
     "MTQ4MTUzNzc1MDg2OQ": true, 
    } 
    } 
} 

и пользователей с ребенком/родителем свойства

users: { 
    "MTQ4MTUzNzc0NzU0Mw": { 
    nick: "gran", 
    children: { 
     "MTQ4MTUzNzc0OTk0NQ": true, 
     "MTQ4MTUzODMzMDEyNQ": true, 
    }, 
    parents: { 
    }, 
    }, 
    "MTQ4MTUzNzc0OTk0NQ": { 
    nick: "mom", 
    children: { 
    }, 
    parents: { 
     "MTQ4MTUzNzc0OTk0NQ": true, 
    }, 
    }, 
} 

Затем загрузите генеалогическое древо и обработайте его пользователей на клиенте. Если их слишком много, вы можете оставить JSON.stringify(client_side_family_tree). Это всего лишь структура данных, вам придется вычислить UI ...


PS. Я знаю, что это странная мама, у нее нет детей: p

+0

Позвольте мне попробовать это, я скажу вам, каков результат. –