Firebase Realtime - Облачные функции TypeError: Невозможно прочитать свойство 'Male' из null - PullRequest
0 голосов
/ 21 ноября 2018

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

enter image description here

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

В настоящее время я проверяю свою функцию на "пол", прежде чем перейти к другим полям в моей форме.Моя облачная функция:

const functions = require('firebase-functions');
const admin = require('firebase-admin');
admin.initializeApp(functions.config().firebase);
exports.onUserCreate = functions.database
.ref('/students/{studentID}/')
.onCreate((snapshot, context) => {
    const userData = snapshot.val();

    const countersRef = admin.database().ref('/counters/');
    return countersRef.transaction(currentData => {
        currentData[userData.gender] = (currentData[userData.gender] || 0) + 1;
        return currentData;
    });

});

И для справки, моя база данных имеет следующую структуру: enter image description here

Но мой счетчик для "Мужской" по-прежнему на нуле:

enter image description here

РЕДАКТИРОВАТЬ :

Я зарегистрировался console.log(countersRef), console.log(userData) и console.log(currentData)и теперь я получаю следующее:

Первый вернул много информации о моей базе данных.Второй:

{ afterGrad: 'Masters',
  elaborate: '',
  firstName: 'test',
  gender: 'Male',
  gradDate: '2014',
  hometown: 'home',
  lastName: 'user',
  program: 'Undergraduate',
  race: 'American Indian or Alaska Native',
  timeToComplete: '2 years' }

Но теперь я получаю эту ошибку для своего журнала currentData:

enter image description here

...