Как выполнить агрегацию при сборе в пожарном депо - PullRequest
0 голосов
/ 10 ноября 2018

Я впервые работаю с firestore и набором данных, в котором хранятся данные пользователей и игр.enter image description hereВ каждой игре у меня есть данные finalScore

enter image description hereДля каждой игры существует внешний ключ в Games, называемый userID, который различает, к каким данным относятся эти игры.

Я хочу написать в index.js функцию, которая может принимать userID иСУММИТЕ все finalScore и верните общий балл для этого пользователя.

Итак, что у меня есть после поиска в Google:

exports.myFunctionName = functions.firestore
    .document('Users').onWrite((change, context) => {
      // ... Your code here
    });

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

1 Ответ

0 голосов
/ 10 ноября 2018

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

  1. Запросите все документы в клиенте и суммируйте их вручную, или
  2. Сохраняйте промежуточные итоги с течением времени, так как каждый новый счет известен. Затем вы можете запросить эту промежуточную сумму в другом документе, когда вам это нужно.
...