iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 11
1
IoT

手拉手教自己用樹梅派、GoogleHome、GCP做一個AI智慧提醒機器人!系列 第 11

Day11 firebase function trigger to firestore

  • 分享至 

  • xImage
  •  

上一篇,我們討論到firebase function如何寫入資料到firestore。
在其官方文件上提到 cloud firestore funcion(是官方建立好for firestore的寫法),以下是提到其生命週期

*In a typical lifecycle, a Cloud Firestore function does the following:

  1. Waits for changes to a particular document.
  2. Triggers when an event occurs and performs its tasks.
  3. Receives a data object that contains a snapshot of the data stored in the specified document. For onWrite or onUpdate events, the data object contains two snapshots that represent the data state before and after the triggering event.*

Cloud Firestore function triggers
functions.firestore有提供4種event type:

  1. onCreate:當document第一次建立時觸發。
  2. onUpdate:document已建立,當任何資料更動時觸發。
  3. onDelete:當document被刪除時觸發。
  4. onWrite:當doc有任何改變時(上方這三種)時,觸發.

EX

const functions = require('firebase-functions');

exports.myFunction = functions.firestore
  .document('collection/{docId}')
  .onWrite((change, context) => { /* ... */ });

//.document('collection/{docId}')中的{doc.id}為collection所有檔案

另外,我們也可以利用它本身提供的方法得到 after before change的data
EX

exports.updateUser2 = functions.firestore
    .document('collection/{docId}')
    .onUpdate((change, context) => {
document
      const afterValue = change.after.data();
      const beforeValue = change.before.data();
    });

若要進行下一步比對並寫入firestor,加入,而firebase有提供3種方式,update(), set(),remove()
EX

  return change.after.ref.set({
    data: 'new data'
  }, {merge: true});

參考資料:https://firebase.google.com/docs/functions/firestore-events?authuser=0


上一篇
Day10 firebase function & cloud scheduler
下一篇
Day12 dialogflow
系列文
手拉手教自己用樹梅派、GoogleHome、GCP做一個AI智慧提醒機器人!30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言