【发布时间】:2017-08-22 17:53:17
【问题描述】:
我正在尝试检索特定孩子的内部列表。请参考以下结构。
如果我想检索“recipient”的“servicesArrayList”,其中“billNo”为“135”,我应该编写什么查询,以便可以将该查询传递给 FirebaseRecyclerAdapter (firebase -ui)
FirebaseRecyclerAdapter 用于特定收件人的 servicesArrayList。
FirebaseUser user = FirebaseAuth.getInstance().getCurrentUser();
String uid = user.getUid();
Query query = FirebaseDatabase.getInstance()
.getReference(RECIPIENT_NODE)
.child(uid)
.child("servicesArrayList")
.orderByChild ?
recipient // parent Node
2R1Q8qKEPHXFU1OiMq5TyxHBaZa2 // uId
-KgJhMAWADwownv5tck6 // push Id
-KgJhMAWADwownv5tck6
-KgJoD77HQK-yACD_EuB
-KgJoRXVUP_-Z0gLhIWy
-KgJob82t47PvTjfTtig
-KgK-N_Av_2kmmQS0Ulx
-KgNu-fVWwFDLnRENj_b // Recipient Data
billNo: 135
billingMonth: "July 2017"
childGender: "Ms."
childName: "xyz"
date: "29/03/2017"
fineAmount: 0
paymentStatus: "UNPAID"
pushId: "-KgNu-fVWwFDLnRENj_b"
receiptUrl:"https://firebasestorage.googleapis.com/v0/b/ngf..."
recipientEmail: "abc@gmail.com"
recipientName: "Abc C."
servicesArrayList
-0
-amount: 1000
-charges: "1000"
-noOfSessions: 1
-serviceType: "Speech And Language Assessment"
total: 1000
vat: 0
【问题讨论】:
-
您是否只想在一个推送 id 中使用
serviceArrayList的值?仅在-KgNu-fVWwFDLnRENj_b\serviceArrayList中。或者在2R1Q8qKEPHXFU1OiMq5TyxHBaZa2中的所有推送ID? -
@koceeng only -KgNu-fVWwFDLnRENj_b\serviceArrayList not from all 。就像这个查询只给我所有“未付”的收件人。查询 query = FirebaseDatabase.getInstance() .getReference(RECIPIENT_NODE) .child(uid) .orderByChild("paymentStatus") .equalTo("UNPAID");
-
那你试过
FirebaseDatabase.getInstance().getReference(RECIPIENT_NODE).child(uid).child(pushId).child("servicesArrayList");吗?代码知道目标的pusId吧? -
@koceeng 那是完美的答案!谢谢!
标签: android firebase firebase-realtime-database firebase-authentication firebaseui