firebaseデータベースの値を要約する必要があります。firebaseデータベースの値を要約する方法#AskFirebase
注:説明しやすくするために、これは非現実的な単純化されたプロジェクトです。したがって、JSONデータにエラーがある場合はお詫び申し上げます。それは実証目的のためであり、私は私の本当の必要性に適応します。 実際のデータを含む完全なプロジェクトの説明はここにあります:best practize summarize FirebaseDatabase values、しかしあまりにも特定のようです。
複数の車の重量データを収集すると仮定します。
だから、いくつかのサンプルデータは、次のようになります。
weightTable{
weightKey1{
"carKey" : "carOne",
"carWeight" : 1.4
},
weightKey2{
"carKey" : "carOne",
"carWeight" : 1.9
},
weightKey3{
"carKey" : "carTwo",
"carWeight" : 1.1
},
weightKey4{
"carKey" : "carThree",
"carWeight" : 1.7
}
}
私は今、私は唯一の「carKey」でグループ化された全ての重量データの要約を持っている別の「テーブル」を持っていると思います。
だから私は
summTable{
"carOne"{
"weightSum" : 3.3,
"cnt" : 2
},
"carTwo"{
"weightSum" : 1.1,
"cnt" : 1
},
"carThree"{
"weightSum" : 1.7,
"cnt" : 1
}
}
を得る "weightSumは" "carWeight" の要約です。
"cnt"は要約されたデータの数です。
は最後に、私はsumTableの概要を表示するには、AndroidアプリやWebページにビューを移入するために使用されているすべての車
totalCarWeight{
"weightSum" : 6,1,
"cnt" : 4
}
の概要を一覧表示するテーブルを持っていると思います。サマリーの車をクリックすると、この車の詳細なビューが表示され、各重量が収集されます。 サマリーデータは、ベストエフォートベースで最新のものにする必要があります。
考えられる問題は、私が参照してください。
デバイスには、ネットワーク接続を持っていないと「weightTable」にデータを追加します。
複数のデバイスが "weightTable"にデータを追加します。
どのようなヒント?
通常のSQLデータベースでは、クエリにサマリーまたはカウント項目を作成するようデータベースに要求することができます。
これはわかりやすく、今すぐお答えください。
Androidまたはjavascriptでのガイダンスが優れています。
現在、私はあなたが説明したようにこの要約を正確に行います。 しかし私はそれを追加するたびにそれをしなければなりません。 それで私はより良い方法がありました。 ここでの問題は、自分のAPPが接続すると、データベースと接続されているすべてのクライアントへの更新をトリガーする要約を再計算することです。 今、私はクラウド機能を使用して要約を実行します。 しかし、この方法でオフライン機能が失われます... –