簡體   English   中英

Firebase的雲功能:如何為所有子項的特定子鍵觸發數據庫功能

[英]Cloud Functions for Firebase: How do I trigger a database function for a specific child key of all children

假設我的數據庫如下所示:

project
└── users
    ├── safuhf8sdf76fs
    │   ├── name: 'William'
    │   └── favoriteColor: 'blue'
    ├── sffuef5srf72fd
    │   ├── name: 'Emily'
    │   └── favoriteColor: 'yellow'
    └── rfdu4ffsgf42gi
        ├── name: 'Sam'
        └── favoriteColor: 'red'

我正在嘗試創建一個在更改/添加/刪除任何user對象的favoriteColor值時觸發的雲功能。

我遇到問題的部分是創建對所述密鑰的引用。

我知道我可以聽取用戶的任何和所有更改

exports.updatedFavoriteColor = functions.database.ref('/users').onWrite(event => { ... });

然后只需檢查更改的數據,看它是否是favoriteColor

雖然這可行,但我更喜歡一個專門監聽所有用戶對象的favoriteColor鍵的觸發器 - 類似這樣的東西: functions.database.ref('/users').child(?).child('favoriteColor')

當威廉或艾米麗的favoriteColor被改變時,我會調用我更favoriteColor的函數,但是當Sam的name改變時,不會被調用。 這可能嗎?

我想我想通過更多的挖掘來解決這個問題。

Firebase文檔建議我可以執行以下操作:

exports.updatedFavoriteColor = functions.database.ref('/users/{pushId}/favoriteColor').onWrite(event => { ... });

這應該由對任何用戶的favoriteColor的更改觸發,其中更新的特定用戶由引用中的{pushId}表示。 在函數本身中,您可以使用event.params.pushId引用用戶標識

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM