[英]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。 查看Data
和K2ngvpioRUYF4bRM07Da5cbAjE53
是否存在於您的樹中? 兩個孩子都應該添加到您的查詢中。 除此之外,您使用的是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.