Привет, я использую облачную функцию для агрегирования данных, созданных в суб-коллекции, в родительскую коллекцию, когда я ее тестирую, она работает как шарм, но когда я развертываю ее в своей производственной среде, это иногда (не является обычным но происходит) данные не агрегируются в родительский документ.
Я думаю, что функция не выполняется, потому что у меня нет ошибок в журналах.
Вот мой код функции
exports.aggregateTranlationsToSong = functions.firestore
.document("songs2/{songId}/translations/{langId}")
.onCreate((event, context) => {
const { songId, langId } = context.params;
console.log({ songId, langId });
let songRef = admin
.firestore()
.collection("songs2")
.doc(songId);
return admin
.firestore()
.runTransaction(transaction => {
return transaction.get(songRef).then(songSnap => {
let actualSongData = songSnap.data();
let translations = actualSongData.lyric_translations;
if (translations === undefined || translations === null)
translations = {};
translations[langId] = true;
console.log({ translations });
return transaction.update(songRef, {
lyric_translations: translations
});
});
})
.catch(e => {
console.error(e);
});
});