私は、ユーザーが1から5までのビジネスを評価できるようにするアプリケーションを作成しています。私のアプリで使用する評価の平均を探しています。これまで私は現在、このコードでカウントを見ることしかできません。Firebaseデータベースのデータセットの平均を取る - Firebaseのクラウド機能
私は評価対象(randomValue:のInt)のすべての読み取り方法を見つけ出すのに苦労していますを。私はそれを配列に格納するのが最善であると考えていました。私はNodeにとってとても新しいので、私を許してください。
これについては、Firebird用のクラウド機能のドキュメントでは何も見つかりません。次のように
マイコード:
exports.scoreOneAverage = functions.database.ref('/ratings_average/{business_uid}/Score_1/{random}')
.onWrite(event => {
const collectionRef = event.data.ref.parent;
const countRef = collectionRef.parent.child('count');
// Return the promise from countRef.transaction() so our function
// waits for this async event to complete before it exits.
return countRef.transaction(current => {
if (event.data.exists() && !event.data.previous.exists()) {
return (current || 0) + 1;
}
else if (!event.data.exists() && event.data.previous.exists()) {
return (current || 0) - 1;
}
}).then(() => {
console.log('Counter updated.');
List ratings = event.data.val();
count = countRef.event.data.val();
if(ratings === null) {
console.log('No ratings');
}
else {
console.log("The average score is:" + count + ratings);
}
});
});