Assuming that I trigger events on the following ref(\'/users/{userId}/items/{newItem}\')
I want to get a value from inside the wildcard userId
In firestore you can use this.
exports.getUser = functions.firestore
.document('users/{userId}').onWrite((change, context) => {
let userId = context.params.userId;
//...
});
Token
is not a parameter returned automatically from trigger
events.
In trigger wild cards only parameters corresponding directly to the wildcard are returned. So You need to do the following if you want to use the
var userId = event.params.userId
And then inside the function you can make another Promise
return admin.database().ref(/users/userId/token).once('value').then(data => {
//do something here
})
This will help you get the token. Or if you want to do it in one step, you can try the following with userID as wild card.
return admin.database().ref(/users/{userId}/token).once('value').then(data => {
//do something here
})
But here you will receive multiple tokens and then you will have to iterate through the children to decide which userId
is of relevance to you
You can find wildcard values like this
wildCardValue = context.params.wildCardName