Я понимаю, что облачные функции недавно обновлены до версии 1.0.
Я пытаюсь написать несколько функций из Android Studio. Я планирую иметь несколько облачных функций и хочу убедиться, что моя структура данных правильная. Вот текущая настройка, которую я имею:
index.js
const functions = require('firebase-functions');
const trackVote = require('./trackVote')
const trendingCopy = require('./trendingCopy')
const admin = require('firebase-admin');
admin.initializeApp();
exports.trackVote = functions.firestore.document('Polls/{pollId}/responses/{userId}').onCreate(trackVoteModule.handler);
exports.trendingCopy = functions.firestore.document('Polls').onCreate(trendingCopyModule.handler);
trackVote:
const functions = require('firebase-functions');
const admin = require('firebase-admin');
admin.initializeApp();
exports.handler = (change, context => {
const data = change.after.data();
const answerSelected = data.answer;
const answerRef = admin.firestore().doc(`Polls/${event.params.pollId}/answers/${answerSelected}`);
const voteCountRef = admin.firestore.doc(`Polls/${event.params.pollId}/vote_count`);
return admin.firestore().runTransaction(t => {
return t.get(answerRef)
.then(doc => {
if (doc.data()) {
t.update(answerRef, { vote_count: doc.data().vote_count + 1 });
}
})
};
//TODO DO NOT ADD TO GIT
return admin.firestore().runTransaction(t => {
return t.get(voteCountRef)
.then(doc =>){
if (doc.data()){
t.update(voteCountRef, {vote_count:doc.data().vote_count+1});
}
}
});
});
});
Ниже моя консоль:
Ошибка: ошибка функции перед развертыванием: команда завершена с ненулевым кодом завершения1
РЕДАКТИРОВАТЬ: я видел это как предлагаемое решение, однако оно предоставляет несколько вариантов и не уверен в передовой практике: https://github.com/firebase/functions-samples/issues/170