Nou*_*med 8 firebase firebase-realtime-database google-cloud-functions
假设我触发了以下事件,ref('/users/{userId}/items/{newItem}')
我想从通配符中获取一个值userId
我试过了,var token = event.params.userId.token但它返回未定义
有什么建议?
在 firestore 中你可以使用这个。
exports.getUser = functions.firestore
.document('users/{userId}').onWrite((change, context) => {
let userId = context.params.userId;
//...
});
Run Code Online (Sandbox Code Playgroud)
Token不是从trigger事件自动返回的参数。在触发通配符中,仅返回与通配符直接对应的参数。因此,如果您想使用,您需要执行以下操作
var userId = event.params.userId
Run Code Online (Sandbox Code Playgroud)
然后在函数内部你可以创建另一个Promise
return admin.database().ref(/users/userId/token).once('value').then(data => {
//do something here
})
Run Code Online (Sandbox Code Playgroud)
这将帮助您获得令牌。或者,如果您想一步完成,您可以使用 userID 作为通配符尝试以下操作。
return admin.database().ref(/users/{userId}/token).once('value').then(data => {
//do something here
})
Run Code Online (Sandbox Code Playgroud)
但在这里您将收到多个令牌,然后您必须遍历子代来决定哪个userId与您相关
| 归档时间: |
|
| 查看次数: |
3262 次 |
| 最近记录: |