具有多个“EqualTo”的Firebase android查询
这是我的Firebase结构:具有多个“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" : "
"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) {
}
});
这样试试。。。
谢谢
这样试试。。。
谢谢。这对他有什么帮助?好的,你可以过滤他们中的哪一个是相等的,但是我们如何删除所有其他的呢?这对他有什么帮助?好的,你可以过滤其中哪一个是相等的,但是我们如何删除所有其他的呢?他需要一种方法来过滤多个等于而不是一个。他需要一种方法来过滤多个等于而不是一个。