使用Firebase云功能

时间:2018-02-10 11:27:40

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

我正在玩Firebase的云功能,试图掌握基础知识。我一直在观看YouTube上的Jen Parsons视频,我理解她的消毒帖子的例子是如何在功能取代特定单词的地方工作的。

我接下来想看看对输入数据库的数据执行计算,但我不知道如何实现这一目标。数据看起来像这样:

Example data

当有人输入值时,云功能会自动加倍。

我知道它的基本但我不知道我会怎么做。消毒岗位的代码在这里可能是我工作和使用的东西,我不确定。

提前谢谢

const functions = require('firebase-functions');

exports.sanitizePost = functions.database.ref('/posts/{pushId}').onWrite(function (event) {
  var post = event.data.val();
  if (post.sanitized) {
    return;
  }
  post.sanitized = true;
  post.title = sanitize(post.title);
  post.body = sanitize(post.body);
  return event.data.ref.set(post);
});

function sanitize(s) {
  var sanitizedText = s;
  sanitizedText = sanitizedText.replace(/\bstupid\b/ig, "wonderful");
  return sanitizedText;
}

1 个答案:

答案 0 :(得分:1)

您可以使用此代码使用事务来使值加倍。

$SYNODIC_MONTH = 29.530588861;
     $LUNATION_BASE = 2423436.40347; 
     echo   round(( (gregoriantojd (10,25,2003) - $LUNATION_BASE ) / $SYNODIC_MONTH ));

但是看看我是否正在使用onCreate事件。如果想使用onWrite或onUpdate,这可能会导致无限循环。

因此,如果您需要使用这些事件,您可能需要注意并检查一些其他变量来计算已用时间并避免本文档中提到的无限循环https://firebase.googleblog.com/2017/07/cloud-functions-realtime-database.html