![](/img/trans.png)
[英]Firebase Cloud Functions Database Trigger 'onCreate is not a function'
[英]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.