簡體   English   中英

如何從 Firebase 獲取每個月的所有數據,以便在 Android 中進行計算

[英]How to get all data at each month from Firebase for calculation in Android

每個日期有多個日期和數據。 每個日期和數據都存儲在一個唯一的鍵下。

"Data":{
   "K2ngvpioRUYF4bRM07Da5cbAjE53":{
      "-M3jNjCuGdMCwt1Czpwz":{
         "Date":"2020-3-30",
         "Scale":"3"
      },
      "-M3jQWxm7z0EQYgkVenX":{
         "Date":"2020-4-29",
         "Scale":"4"
      },
      "-M5hxn-rCJICUvRcMZJu":{
         "Date":"2020-4-24",
         "Scale":"2"
      }
   }
}

我想計算每月的總秤數(重點是每月)。 而不是使用“startAt”和“endAt”:

   Query query = ref.orderByChild("Date").startAt("2020-3-1").endAt("2020-3-31");
   Query query2 = ref.orderByChild("Date").startAt("2020-4-1").endAt("2020-4-30");

有沒有更好的方法來循環所有月份和年份? 如果我有不同年份和月份的日期,我認為上面的代碼很難。

如果您的ref object 指向數據庫根目錄,那么您的引用不正確,因為您缺少Data和用戶的 ID。 查看DataK2ngvpioRUYF4bRM07Da5cbAjE53是否存在於您的樹中? 兩個孩子都應該添加到您的查詢中。 除此之外,您使用的是Date屬性,String 值實際上也不正確。 您應該使用時間戳,正如我在以下帖子中的回答中所解釋的那樣:

話雖如此,正確的查詢應該如下所示:

String uid = FirebaseAuth.getInstance().getCurrentUser().getUid();
DatabaseReference ref = FirebaseDatabase.getInstance().getReference();
Query query = ref.child("Data").child(uid) //Added both children
    .orderByChild("Date")
    .startAt(startLongValue)
    .endAt(endLongValue);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM