0

В SQL я использовал вложенные наборы для хранения иерархических данных. Я пытаюсь сделать то же самое с Firebase. Теоретически иерархия может быть «n» уровня глубокой, но на самом деле, вероятно, будет только 5-7 уровней.Как хранить иерархические данные в Firebase

Я провел немало исследований. Этот Mongo DB documentation предлагает использовать только вложенные наборы статических деревьев. Мои данные со временем изменятся. Тот же документ приводит к выводу, что материализованный путь - это путь.

У кого-нибудь есть опыт?

+0

Я написал быстрый ответ без ответа. В общем, такие вопросы, как «кто-нибудь имеет опыт работы с ...», не подходят для переполнения стека, поскольку они очень широкие и трудно определить правильный ответ. –

+0

@FrankvanPuffelen Я согласен с тобой. Я надеялся поставить более тонкий мой запрос. Я продолжал редактирование и редактирование. В конце концов я проиграл и отправил сообщение. Спасибо за ответ и комментарий. – spdaly

ответ

1

Хранение данные никогда не являются проблемой, запрос данных эффективно. Учитывая, что база данных Firebase хранит данные в дереве JSON, она может естественным образом хранить иерархии очень эффективно. Но Firebase documentation recommends against such nested data structures, поскольку их сложнее защищать и эффективно запрашивать.

Но все зависит от того, какие данные вы хотите хранить и как ваше приложение хочет получить к нему доступ. Для хорошего введения я рекомендую эту статью по адресу NoSQL data modeling.

+0

Спасибо за последнюю ссылку. Я много хорошего понимаю, как подойти к проблеме. Я начну приводить примеры. Еще одной проблемой является необходимость параллелизма. Многие пользователи могут редактировать документ одновременно. – spdaly

+0

Yup. Эта статья является моей любимой, так как я ее обнаружил. Он ставит имена многим вещам, которые мы продвигаем в течение многих лет разработчикам Firebase. Но начать работу с новой парадигмой базы данных остается сложной. Я не нашел замену «Просто делаю это и продолжаю делать это, пока не станет более естественным». :-) –