![](/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.