Получение значений от одного узла к другому узлу - PullRequest
0 голосов
/ 26 декабря 2018

У меня есть структура Firebase, в которой у меня есть разные узлы, такие как match_Points и myTeam.Теперь я хочу скопировать значение из match_points в узел в myTeam.

Как я могу выполнить эту задачу лучше?Эта задача описана с помощью снимка, который прилагается здесь, чтобы очистить мой вопрос. Вот изображение

1 Ответ

0 голосов
/ 26 декабря 2018

Я предполагаю, что ваш вопрос заключается в том, существует ли какой-либо конкретный API для выполнения операций "копирования".И короткий ответ: нет.

Но что неясно из вашего вопроса, рассматривали ли вы облачные функции для Firebase , чтобы сделать вашу тяжелую работу?Это снимет с вашего приложения ответственность за актуальность дублирования данных.

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

export const copyMatchPointsToTeamScore = functions.database.ref('match_points/{match}/{player}/points').onUpdate((change, context) => {
    const match = context.params.match;
    const player = context.params.player;
    const pointsBefore = change.before.val();
    const pointsAfter = change.after.val();
    const deltaScore = pointsAfter - pointsBefore;

    const myTeamId = 'SDFGSFDGxcz'; // Get your team ID from somewhere
    return admin.database().ref(`myteam/${myTeamId}/${match}/${player}/points`).transaction(trxPoints => {
        return typeof trxPoints === 'number' ? trxPoints + deltaScore : trxPoints;
    });
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...