Javascript: не удалось создать узел в Firebase

введите описание изображения здесь

Я новичок в Javascript, начал изучать его 2 дня назад, потому что я хотел настроить некоторые облачные функции на Firebase. Структура базы данных моего приложения (уже опубликованного) показана на рисунке, и я хочу:

Когда пользователи загружают свои "достижения" в Firebase, облачная функция вычисляет "общее время", в течение которого конкретное достижение было достигнуто всеми пользователями. Например, достижения [0] достигаются в общей сложности 80000 раз, а достижения [28] - в общей сложности 54321 раз. После их вычисления я сохраняю массив под узлом "successCount_total", который будет находиться на том же уровне, что и узел "пользователи".

Для этого я следил за документами в Firebase и пытался выполнить функцию облака. Вот коды:

const functions = require('firebase-functions');
// The Firebase Admin SDK to access the Firebase Realtime Database. 
const admin = require('firebase-admin');
admin.initializeApp(functions.config().firebase);
exports.updateScores = functions.database.ref('/users/{userUID}/achievements')
.onWrite(event => {
  var database=firebase.database();
  var achievementsCount_total=new Array();
  for(var i=0;i<60;i++){achievementsCount_total[i]=0;}
  var allUsersSnapshot = event.data.parent.parent.child('/{userUID}');//a list containing all users
  allUsersSnapshot.forEach(function(element) {
    var achievements_this = element.child('/achievements').val();
    for(var i=0;i<60;i++)
    {
      achievementsCount_total[i]+=achievements_this[i];
    }
  }, this);
  database.ref('achievementsCount_total').set(achievementsCount_total);
  return null;
});

Однако новый узел ("cesCount_total") не был создан на том же уровне, что и" пользователи ". Я проверил это на Firebase и обнаружил, что функция была успешно выполнена, пока новый узел не появился. Пожалуйста, помогите мне с тем, что я сделал не так. Спасибо ~

0 ответов

Другие вопросы по тегам