我正在使用Firebase云功能。我试图在每个帖子上计算喜欢。 我的问题实际上是在云函数javascript代码中。 我正在收听Firebase Databse Realtime中一个叫“喜欢”的节点。 它看起来像 - >
Tree保存如下:PostID - >用户ID - >数据
我想要做的是在云功能中获取数据(类型和视频ID)。
这是代码
exports.countlikechange = functions.database.ref('/likes/{postid}/{userUID}').onWrite(event => {
const collectionRef = event.data.ref.parent;
const model = event.data.val();
console.log("model",model);
const countRef = collectionRef.child('likes');
// Return the promise from countRef.transaction() so our function
// waits for this async event to complete before it exits.
return countRef.transaction(current => {
if (event.data.exists() && !event.data.previous.exists()) {
return (current || 0) + 1;
}
else if (!event.data.exists() && event.data.previous.exists()) {
return (current || 0) - 1;
}
}).then(() => {
console.log('Counter updated.');
});
});
无论如何从节点获取类型和videoId? 我该怎么写? 例如:const genre = event.getGenre(类似的东西)
答案 0 :(得分:1)
genre
和videoID
位于传递给您的函数的event.data
快照中。所以:
const model = event.data.val();
let genre = model.genre;
let videoID = model.videoID;