hvordan oppdatere data ved hjelp av transaksjonen når utløsende onCreate ved hjelp av sky funksjon i Fire?

stemmer
0

Jeg ser denne videoen for å oppdatere data i sanntid database ved hjelp av transaksjonen: https://www.youtube.com/watch?v=TPKA88_FmkA , men det virker transcation er ikke tilgjengelig på Fire sky funksjon?

så jeg har Fire data som dette, og jeg ønsker å oppdatere rankPoint når ny deltaker er lagt i delsamlingsfunksjon. skriv

her er koden jeg bruker for å aktivere funksjonen:

const functions = require('firebase-functions');
const admin = require('firebase-admin')
admin.initializeApp()


exports.increasePointWhenAddingNewAttendee = functions.firestore
    .document('Events/{eventId}/Attendee/{userId}')
    .onCreate((snap, context) => {

        const eventID = context.params.eventId
        const eventRef = snap.ref.firestore.collection('Events').doc(eventID)

        // increase rankPoint
        return eventRef.transaction(rankPoint => {
            return rankPoint + 1
        })



    });

men det virker ikke som den skal, fra loggen det er sagt: skriv

Publisert på 02/09/2018 klokken 05:36
kilden bruker
På andre språk...                            


1 svar

stemmer
1

Videoen du ser er i ferd med Realtime Database triggere, som er svært annerledes enn Fire triggere. De har ikke den samme API.

Hvis du ønsker å utføre en transaksjon med Fire, må du ringe runTransaction på en Fire objekt, ikke et DocumentReference objekt. Vennligst se dokumentasjonen for Fire transaksjoner . Igjen, hvordan det fungerer med Fire er annerledes enn Realtime Database.

Svarte 02/09/2018 kl. 07:11
kilden bruker

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more