Я работаю над веб-приложением, которое будет визуализировать данные из моей базы данных Firebase.Но сначала я хочу иметь возможность «подсчитать» общее количество пользователей с заданными данными, чтобы затем использовать это число в своих графиках.
Для справки, моя база данных выглядит следующим образом:
Поскольку я ожидаю отдельных итогов для требуемых ключей, я предполагаю, что мне понадобятся отдельные счетчики для каждого.Я начал писать облачную функцию, чтобы отслеживать, когда создается новый пользователь:
import * as functions from 'firebase-functions'
export const onMessageCreate = functions.database
.ref('/students/{studentID}')
.onCreate((snapshot, context) => {
const userData = snapshot.val()
const afterGrad = userData.afterGrad
const gender = userData.gender
const gradDate = userData.gradDate
const program = userData.program
const race = userData.race
const timeToComplete = userData.timeToComplete
})
Но сейчас я чрезвычайно растерялся из-за того, как мне следует создавать счетчики.Будет ли что-то вроде этого достаточно, с индивидуальным счетчиком для каждой константы?
import * as functions from 'firebase-functions'
var counterAfterGrad;
export const onMessageCreate = functions.database
.ref('/students/{studentID}')
.onCreate((snapshot, context) => {
const userData = snapshot.val()
const afterGrad = userData.afterGrad
var counterAfterGrad++
})
Или я должен подумать об использовании транзакции в этом случае?Я действительно не уверен в лучшем способе и был бы очень признателен за помощь.