0

私は迅速なiOSプログラマーです。firebase関数とnode.jsの言語ではかなり新しいです。私は1つの "ジム"で異なるユーザーの運動の詳細を示す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 
    } 
    } 
} 

私は、データをループし(Node.jsの中)firebase関数を記述し、一緒にonWriteすべての秒を追加したいと思います。チュートリアルから、私はコンソールに情報を記録する方法などを知っています。しかし、私はどのようにデータをループするのか分かりません。これはSwiftでは非常に簡単です。ここで

は私の出発点は、事前に助けを

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

    const runID = event.params.RunID 


}); 

多くの感謝です。機能が空であることに対する謝罪。 Node.jsには少しの学習曲線があり、学習時間は少し厳しいです。 :(

答えて

2

このお試しください:。

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; 
     } 
    }); 
1

event.data.forEachは、あなたのスナップショットをごループをできるようになるDocs

関連する問題