我在我的项目中使用Firebase Cloud功能。 在云端功能中我正在监听节点。 我收到了数据,想要更新其他节点和特定数据。 例如,我想更新"喜欢"正如你在图片中看到的那样......
云功能代码
exports.countlikechange = functions.database.ref('/likes/{postid}/{userUID}').onWrite(event => {
const collectionRef = event.data.ref.parent;
const model = event.data.val();
let genre = model.genre;
let videoID = model.videoID;
const countRef = collectionRef.child('likes');
if (event.data.exists() && !event.data.previous.exists()) {
const promisseadd1 = countRef.transaction(current => {
return (current || 0) + 1;
});
const promisseadd2 = admin.database().ref(`/`+ genre+`/`+videoID+`/`+likes).transaction(current => {
return (current || 0) + 1;
});
return Promise.all([promisseadd1, promisseadd2]);
} else if (!event.data.exists() && event.data.previous.exists()) {
const promissesubs1 = countRef.transaction(current => {
return (current || 0) - 1;
});
const promissesubs2 = admin.database().ref(`/`+ genre+`/`+videoID+`/`+likes+`/`).transaction(current => {
return (current || 0) - 1;
});
return Promise.all([promissesubs1, promissesubs2]);
}
});
我不确定我是否正确行事,但该行代码:
const promisseadd2 = admin.database().ref(`/`+ hiphop +`/`+videoID+`/`+likes).transaction(current => {
return (current || 0) + 1;
});
我想按照从我收听的节点收到的流派更新节点。 由于某种原因,它不起作用。这一行应该更新"喜欢"在一个Genres节点中,取决于用户喜欢什么。 我不确定它应该是那样,我只是想更新"喜欢"在嘻哈节点。
我也希望小写"流派" ,任何想法怎么做?