2017-10-02 1 views
0

J'ai un problème avec mes fonctions de cloud où tous les événements de ma base de données retournent tous vides. Par exemple, dans l'événement suivant, event.data.val() renverra null. Je suis en train de faire une mise à jour et j'ai testé la mise à jour en testant la fonction cloud en utilisant le shell ainsi qu'après le déploiement. Mais je peux facilement entrer dans les événements auth.user() comme le suivant et recevoir les données, mais je peux facilement me connecter aux événements auth.user().L'événement de base de données Cloud Functions contient toujours des données vides

export const createStripeUser = functions.auth.user().onCreate(event => { 
    const user = event.data; 
}); 

Edit: Passage de données dans la collection par exemple comme celui ci-dessous sur la console émulateur

createSubscription({ 
    testKey: 'testValue' 
}) 

ou suite à mon frontend

db.ref(`/users/23213213213/subscription`).update({ testKey: 'testValue'}); 

retournerait nulle sur la fonction.

+0

Pourriez-vous éditer votre question pour être plus précis sur exactement quelle écriture de base de données que vous effectuez qui devrait mettre des données dans l'événement, mais pas? –

+0

@DougStevenson vient de mettre à jour la question – Bazinga777

+0

Vous n'avez toujours pas dit quoi et où exactement vous écrivez à la base de données que vous prévoyez de déclencher votre fonction. –

Répondre

0

DougStevenson est correct. Pour le .onCreate() vous le feriez avec une fonction myDatabaseFunction ('new_data'). Avec le .onWrite() vous devez passer dans l'avant et après comme mon exemple ci-dessous.

Vous avez peut-être été coincé si je l'ai fait. Notez que j'ai une accolade autour de l'avant et après le JSON final. Cela n'a pas fonctionné correctement sans eux.

addComment ({before: {"commentaire": "avant commentaire", "rôle": "invité"}, après: {"comment": "Après commentaire", "rôle": "invité"}})

J'espère que mon exemple aide un peu plus qu'un paramètre de chaîne générique.

Bonne chance!