2 votes

Fonction cloud pour firestore onWrite

Lorsque je mets à jour ou supprime mon document via la console firebase, ma fonction se déclenche mais lorsque j'enregistre la fonction champ context.eventType Je reçois google.firestore.document.write au lieu de google.firestore.document.delete o google.firestore.document.update

Un indice, s'il vous plaît ?

Code :

exports.useTest = functions.firestore
    .document("users/{userId}")
    .onWrite(async (handle, context) => {
    console.log("before", handle.before.data());
    console.log("after", handle.after.data());
    console.log("eventType", context.eventType);
});

0voto

RJC Points 135

Selon cette documentation vos fonctions Firestore déclencheront le onWrite puisqu'il est déclenché si onCreate , onUpdate o onDelete est déclenché. Quel que soit le déclencheur, le onWrite seront affichés.

Il y a aussi un guide pour déclencher une fonction pour toutes les modifications apportées à un document que vous pouvez suivre :

exports.modifyUser = functions.firestore
    .document('users/{userID}')
    .onWrite((change, context) => {
      // Get an object with the current document value.
      // If the document does not exist, it has been deleted.
      const document = change.after.data();

      // Get an object with the previous document value (for update or delete)
      const oldDocument = change.before.data();

      // perform desired operations ...
    });

Pour plus de références, vous pouvez vous référer à ces documentations :

  1. Déclencher une fonction lorsqu'un nouveau document est créé
  2. Déclencher une fonction lorsqu'un document est mis à jour
  3. Déclencher une fonction lorsqu'un document est supprimé

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X