Облачные функции Google | Функция с триггером onUpdate вызывается каждый раз, когда запускается другая с onCreate для базы данных реального времени - PullRequest
0 голосов
/ 28 июня 2019

В моем коде есть две облачные функции: одна с onCreate, а другая с триггером onUpdate для базы данных реального времени по тому же пути. Всякий раз, когда добавляются новые данные, также вызывается функция с onUpdate. Как я могу предотвратить это?

exports.createSdkUser = functions.database.ref("users/{app}/{user}").onCreate(async (snapshot, context) => {
    ...
});


exports.updateSdkUser = functions.database.ref("/users/{app}/{user}").onUpdate(async (snapshot, context) => {
    ...
});

1 Ответ

0 голосов
/ 29 июня 2019

создание функции onUpdate() аналогично установке события наблюдателя для этого документа ... если какие-либо данные добавлены, изменены или удалены, тогда функция будет выполнена ... вы не можете остановить это, но вы можете обусловить, что должно быть выполнено для этой функции, а что не должно быть с помощью условий, таких как:

  exports.updateSdkUser = functions
 .database.ref("/users/{app}/{user}")
 .onUpdate(async (snapshot, context) => {
  snapshot.forEach((snap)=>{
      if(snap.data().username) {
        // Do this if there is certain data in my database (for example : username)
      }else {
        // else just return don't do anything
        return;
      }
   })
  });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...