假设我在以下ref('/users/{userId}/items/{newItem}')
触发事件
我想从通配符userId
我尝试了var token = event.params.userId.token
,但它返回未定义
有什么建议吗?
答案 0 :(得分:3)
您可以在Firestore中使用它。
exports.getUser = functions.firestore
.document('users/{userId}').onWrite((change, context) => {
let userId = context.params.userId;
//...
});
答案 1 :(得分:2)
Token
不是trigger
事件自动返回的参数。
在触发器通配符中,仅返回与通配符直接对应的参数。因此,如果要使用
var userId = event.params.userId
然后在函数内部,您可以创建另一个Promise
return admin.database().ref(/users/userId/token).once('value').then(data => {
//do something here
})
这将帮助您获得令牌。或者,如果您想一步完成,可以使用userID作为外卡尝试以下操作。
return admin.database().ref(/users/{userId}/token).once('value').then(data => {
//do something here
})
但是在这里您将收到多个令牌,然后您将不得不遍历孩子以决定哪个userId
与您相关
答案 2 :(得分:0)
您可以找到这样的通配符值
wildCardValue = context.params.wildCardName