Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/firebase/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
具有多个“EqualTo”的Firebase android查询_Android_Firebase_Firebase Realtime Database - Fatal编程技术网

具有多个“EqualTo”的Firebase android查询

具有多个“EqualTo”的Firebase android查询,android,firebase,firebase-realtime-database,Android,Firebase,Firebase Realtime Database,这是我的Firebase结构: "Braccianti" : { "-KehahFy7z2IrUdchwxk" : { "Associazione" : "-KehahFy7z4ngUdchwxk", "Cellulare" : "3402659753", "Cognome" : "Prova", "DataDiNascita" : "12/04/1985", "Nome" : "

这是我的Firebase结构:

"Braccianti" : {
        "-KehahFy7z2IrUdchwxk" : {
          "Associazione" : "-KehahFy7z4ngUdchwxk",
          "Cellulare" : "3402659753",
          "Cognome" : "Prova",
          "DataDiNascita" : "12/04/1985",
          "Nome" : "Bracciante"
        },
        "ashaosdfao" : {
          "Associazione" : "gsdfskjdfsdf",
          "Cellulare" : 234235246,
          "Cognome" : "Example",
          "DataDiNascita" : "10/12/2000",
          "Nome" : "exam"
        }
        "dfsdfsdfsdf" : {
          "Associazione" : "ewsvbdtgsdgf",
          "Cellulare" : 23523975553,
          "Cognome" : "Ex",
          "DataDiNascita" : "17/01/1994",
          "Nome" : "ghjghj"
        }
      }
我希望通过一个查询获得DFSF和-KehahFy7z2IrUdchwxk,因此我考虑这样做:

 Query QueryAssociazioni = FirebaseDatabase.getInstance().getReference("Aziende/"+main.getNomeAzienda()+"/Associazioni"); 
QueryAssociazioni = QueryAssociazioni.equalTo("dfsdfsdfsdf").equalTo("-KehahFy7z2IrUdchwxk");
但它不起作用


如何解决我的问题?

Firebase不允许多个查询,但您始终可以添加一个ChildEventListener,并检查孩子的值是否:

QueryAssociazioni.addChildEventListener(new ChildEventListener() {
    @Override
    public void onChildAdded(DataSnapshot dataSnapshot, String s) {
        String child = dataSnapshot.getValue().toString();
        if(child.equals("dfsdfsdfsdf") || child.equals(("-KehahFy7z2IrUdchwxk"))){
            //Do something with the value
        }
    }

    @Override
    public void onChildChanged(DataSnapshot dataSnapshot, String s) {

    }

    @Override
    public void onChildRemoved(DataSnapshot dataSnapshot) {

    }

    @Override
    public void onChildMoved(DataSnapshot dataSnapshot, String s) {

    }

    @Override
    public void onCancelled(DatabaseError databaseError) {

    }
});

Firebase不允许多个查询,但您始终可以添加一个ChildEventListener并检查子项的值是否:

QueryAssociazioni.addChildEventListener(new ChildEventListener() {
    @Override
    public void onChildAdded(DataSnapshot dataSnapshot, String s) {
        String child = dataSnapshot.getValue().toString();
        if(child.equals("dfsdfsdfsdf") || child.equals(("-KehahFy7z2IrUdchwxk"))){
            //Do something with the value
        }
    }

    @Override
    public void onChildChanged(DataSnapshot dataSnapshot, String s) {

    }

    @Override
    public void onChildRemoved(DataSnapshot dataSnapshot) {

    }

    @Override
    public void onChildMoved(DataSnapshot dataSnapshot, String s) {

    }

    @Override
    public void onCancelled(DatabaseError databaseError) {

    }
});
这样试试。。。 谢谢

这样试试。。。
谢谢。

这对他有什么帮助?好的,你可以过滤他们中的哪一个是相等的,但是我们如何删除所有其他的呢?这对他有什么帮助?好的,你可以过滤其中哪一个是相等的,但是我们如何删除所有其他的呢?他需要一种方法来过滤多个等于而不是一个。他需要一种方法来过滤多个等于而不是一个。