如何查询基于多个等于的Firebase

时间:2019-12-05 12:52:18

标签: android firebase firebase-realtime-database

我有以下firebase结构。由此,我需要基于查询where Dstatus=ok and Drmoble=mobile no

获取数据

enter image description here

到目前为止,我已经编写了此代码,该代码仅适用于单个值。如何将两者结合在一起

 mReferenceBooks.orderByChild("Drmoble").equalTo(mobile_no).addValueEventListener(new ValueEventListener() {

 @Override
 public void onDataChange(DataSnapshot dataSnapshot) {

1 个答案:

答案 0 :(得分:1)

在firebase实时数据库中,它们不是AND查询,这意味着您不能这样做:

mReferenceBooks.orderByChild("Drmoble").equalTo(mobile_no).orderByChild("DStatus").equalTo("ok")

要解决此问题,您可以创建另一个包含DStatusDrmoble的字段,例如:

randomId
     dstatus-drmoble : "01810000-ok"

然后您可以使用以下查询:

mReferenceBooks.orderByChild("dstatus-drmoble").equalTo("01810000-ok").addValueEventListener(new ValueEventListener() {