Как минимизировать ресурсы с базой данных в реальном времени? - PullRequest
0 голосов
/ 03 марта 2019

Я пытаюсь минимизировать количество обращений к базе данных реального времени (Firebase) для структуры, которую можно определить следующим образом:

{
    users: {
        1: {
            name: "John",
            groups: {
                1: true,
                2: true
            }
        },
        2: {
            name: "Danny",
            groups: {
                1: true
            }
        }
    },
    groups: {
        1: {
            name: "Students",
            users: {
                1: true,
                2: true
            }
        },
        2: {
            name: "Engineers",
            users: {
                1: true
            }
        }
    }
}

Допустим, я хотел бы показать все связанные группыс идентификатором пользователя 1 (Джон).Из того, что я прочитал, правильный способ - прочитать ключи для users/1/groups, а затем прочитать имя каждой группы на groups/{ID}/name.

Проблема с вышеописанным процессом заключается в том, что дляпокажите имена всех групп для пользователя John, затем потребуется запрос для каждого идентификатора группы (плюс запрос на чтение ключей группы пользователя).Это довольно много ресурсов (по сравнению со структурой SQL).

Есть ли более эффективный способ сделать это?

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