Funciones de nube firebase v9 runTransaction
Este es mi función en la nube:
const { getFirestore, runTransaction, FieldValue } = require(‘firebase-admin/firestore’)
exports.purchasesStatistics = functions.firestore
.document(‘transactions/{purchaseId}’)
.onUpdate((snap, context ) => {
if (snap.before.data().status === ‘RECEIVED’) {
return ‘0’;
}
let purchasePaid = snap.after.data().status === ‘RECEIVED’ ? true : false;
if (purchasePaid === false) {
return ‘0’;
}
let allPurchase = snap.after.data();
functions.logger.log(‘allPurchase’, allPurchase);
let ref = getFirestore().collection(‘statistics’).doc(‘checkout’);
return runTransaction(ref, (transaction) => {
return transaction.get(ref).then((doc) => {
functions.logger.log(‘documento atualizado:’, doc.data());
return ‘0’;
});
});
});
Compre, está devolviendo “runTransaction no es una función”. ¿Qué estoy haciendo mal? No encontré la manera adecuada de usar runTransaction en firebase v9.
davy.ai
Parece que estás usando una versión desactualizada del Firebase Admin SDK. La función
runTransaction
fue añadida en la versión 8.0.0 del SDK. Asegúrate de que estás usando la última versión del SDK y de que has importado correctamente la funciónrunTransaction
.