0
사용자가 작업을 수행 할 때 보상을 원합니다. 그의 '동전'에 대한 경로가 아직 존재하지 않을 수도 있습니다. 따라서 오류가 발생하는 이유는 다음과 같습니다.수집/문서가 있는지 여부에 관계없이 트랜잭션 실행 - Firestore - Cloud Functions
Transaction failure: Error: The data for XXX does not exist.
경로가 아직 존재하지 않을 때 어떻게 트랜잭션을 실행할 수 있습니까? 이것은 내가 뭘하려 :
exports.facebookShared = functions.firestore.document('facebookShared/{randomUID}').onCreate(event => {
const data = event.data.data()
const uid = data.uid
var promises = []
promises.push(
db.collection('facebookShared').doc(event.data.id).delete()
)
const pathToCoins = db.collection('users').doc(uid).collection('server').doc('server')
promises.push(
db.runTransaction(t => {
return t.get(pathToCoins)
.then(doc => {
var newCoins = 0
if (doc.data().hasOwnProperty("coins")){
newCoins = doc.data().coins + awardFacebookShare.coins
}
t.update(pathToCoins, { coins: newCoins });
});
})
.then(result => {
console.log('Transaction success', result);
})
.catch(err => {
console.log('Transaction failure:', err);
})
)
return Promise.all(promises)
})