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 и обнаружил, что функция была успешно выполнена, пока новый узел не появился. Пожалуйста, помогите мне с тем, что я сделал не так. Спасибо ~