Firebase云功能 - 更新节点

时间:2018-01-23 21:38:54

标签: javascript firebase firebase-realtime-database google-cloud-functions

我在我的项目中使用Firebase Cloud功能。 在云端功能中我正在监听节点。 我收到了数据,想要更新其他节点和特定数据。 例如,我想更新"喜欢"正如你在图片中看到的那样......

enter image description here

云功能代码

 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节点中,取决于用户喜欢什么。 我不确定它应该是那样,我只是想更新"喜欢"在嘻哈节点。

我也希望小写"流派" ,任何想法怎么做?

0 个答案:

没有答案