Je souhaite utiliser la fonction onUpdate pour déclencher lorsque "front" est mis à jour, mais malheureusement, je n'ai pas pu le faire fonctionner. Pouvez-vous m'aider?

enter image description here

exports.updateUser = functions.firestore
.document('trashcan/{trashcanId}')
.onUpdate((change, context) => {
  'front';
  // Get an object representing the document
  // e.g. {'name': 'Marie', 'age': 66}
  const newValue = change.after.data();

  // ...or the previous value before this update
  const previousValue = change.before.data();

  // access a particular field as you would any JS property
  const front = newValue.front;

  // perform desired operations ...
0
北科大-莫君君 8 oct. 2019 à 10:02

1 réponse

Meilleure réponse

Vous devez comparer les valeurs du champ front avant et après la modification, comme suit :

exports.detectFrontChanges = functions.firestore
.document('trashcan/{trashcanId}')
.onUpdate((change, context) => {

  const newValue = change.after.data();
  const previousValue = change.before.data();

  if (newValue.front !== previousValue.front) {
     //front field value has changed
     //Do something

     //e.g. write to the log console
     console.log("front field value has changed!");
     //e.g. and write a Firestore document
     return admin.firestore().collection('events').doc('event1').set({changeType: 'front field'});
  } else {
     //nothing to do
     //return null to indicate to the Cloud Function platform that this Function can be finished
     return null;
  }
}
1
Renaud Tarnec 8 oct. 2019 à 20:45