javascript - 使用 Cloud Functions 在 Firebase 中循环和添加数据

标签 javascript node.js firebase firebase-realtime-database google-cloud-functions

我是一名 swift iOS 程序员,对 firebase 函数和 Node.js 语言还很陌生。我有一个 firebase 数据库结构,可以显示一个“健身房”中不同用户的锻炼详细信息。每个用户的锻炼都有行进的距离、以分钟为单位的时间和配速(以秒和分钟为单位)请参阅代表俱乐部的 json 代码。

 {
  "Gym" : {
    "-KhnVNdA50oR04q073k5" : {
      "distance" : 0.01,
      "minutes" : 6,
      "pace" : 7.5,
      "seconds" : 40
    },
    "-KhqiOc0CGdFMXihGB2N" : {
      "distance" : 3.54,
      "minutes" : 5,
      "pace" : 5.89,
      "seconds" : 23
    },
    "-KhrfOsis4m51qM9kbl2" : {
      "distance" : 3.90,
      "minutes" : 2,
      "pace" : 6.77,
      "seconds" : 38
    },
    "-Ki7NswN2bQb0n1OIuyr" : {
      "distance" : 4.53,
      "minutes" : 10,
      "pace" : 6.10,
      "seconds" : 29
    }
  }
}

我想编写一个 firebase 函数(在 node.js 中)来循环数据并将所有秒数添加到 onWrite 中。从教程中我知道如何将信息记录到控制台等。但我不知道如何循环数据——这在 Swift 中非常容易。

这是我的出发点

exports.totalClubSeconds = function.database.ref('/ClubRuns/{RunID}').onWrite(event => {

    const runID = event.params.RunID


});

非常感谢您提前提供的帮助。抱歉让该功能为空。 Node.js 有一点学习曲线并且学习时间有点紧张。 :(

最佳答案

试试这个:

   const runID = event.params.RunID
   let RunRef = admin.database().ref(`Gym/${RunID}`);
   return RunRef.once('value').then(snapshot => {
      if (snapshot.hasChildren()) {
        const minutes= 0;
        snapshot.forEach(function(child) {
          //do the sum here
        });
        //return Promise here;
      }
    });

关于javascript - 使用 Cloud Functions 在 Firebase 中循环和添加数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43528861/

相关文章:

javascript - 如何正确回显 onclick ='function($var)'

javascript - 如何在页面加载时加载全屏模式

javascript - 使用 <link rel ="alternate"media ="print"> 打印外部网页

javascript - 为什么 `async` 不是保留字?

android - Firebase [Android] 从数据库获取列表到 map ?

javascript - Webpack 将变量传递到启动/构建脚本中

javascript - 根据条件查找mongodb(在mongoose+node.JS中)记录

javascript - 重新连接后未触发 socket.io 'connect' 或 'reconnect' 事件

ios - 如何使用他们的 uid 获取特定用户的数据?

ios - Swift & Firebase - Cloud firestore 可扩展吗?