Faj*_*lah 3 android firebase firebase-realtime-database
我正在尝试根据结构化数据“结构化Firebase”中子级 “ State”中的“ Payments”获取数据
我用这个
salesRef = FirebaseDatabase.getInstance().getReference()
.child("Orders")
.orderByKey().startAt("Payments").endAt("Payments"+"\uf8ff");
Run Code Online (Sandbox Code Playgroud)
但是我什么也没回来。怎么了?我应该使用什么?
您正在按键(例如089630116543等)进行订购,然后说您要键从“付款”开始,到“付款\ uf8ff”结束。没有任何这样的键,这就是为什么您没有得到任何结果的原因。
我自己还没有使用过Firebase Realtime Database(只是C#中的Firestore,相关但不完全相同)。我怀疑您是否更改orderByKey()为orderByChild("state")可以解决此问题:
salesRef = FirebaseDatabase.getInstance().getReference()
.child("Orders")
.orderByChild("state").startAt("Payments").endAt("Payments\uf8ff");
Run Code Online (Sandbox Code Playgroud)
请注意,这不会在State为“ Waiting Payments Config”的状态下找到值,因为这不是从 Payments 开始的。如果您实际上想要一个“包含”类型的查询,那可能会比较棘手(或者不确定,我不确定)。
您需要执行以下操作:
salesRef = FirebaseDatabase.getInstance().getReference().child("Orders").orderByChild("state").equalTo("Waiting Payments Config");
Run Code Online (Sandbox Code Playgroud)
orderByChild将属性名称作为参数,equalTo并将该属性的值作为参数。
检查文档:
https://firebase.google.com/docs/database/android/lists-of-data
| 归档时间: |
|
| 查看次数: |
132 次 |
| 最近记录: |