如何在Android中应用多个查询过滤firebase数据结果?
我想在回收者视图中显示所有城市=Varanasi,性别=男性,工资在5000到15000之间的工人姓名。 在这种情况下,必须显示显示的工作人员的姓名。如何在Android中应用多个查询过滤firebase数据结果?,android,firebase,firebase-realtime-database,Android,Firebase,Firebase Realtime Database,我想在回收者视图中显示所有城市=Varanasi,性别=男性,工资在5000到15000之间的工人姓名。 在这种情况下,必须显示显示的工作人员的姓名。 必须应用什么查询以及如何实现该查询?首先,我认为您需要使用双倍值而不是字符串保存薪资 您需要在worker节点上进行引用,然后添加一个侦听器并迭代这些值。您还需要一个工人类来获取数据 yourReference.orderByChild("city").equalTo("Varanasi").addListenerForSingleValueEv
必须应用什么查询以及如何实现该查询?首先,我认为您需要使用双倍值而不是字符串保存薪资 您需要在worker节点上进行引用,然后添加一个侦听器并迭代这些值。您还需要一个工人类来获取数据
yourReference.orderByChild("city").equalTo("Varanasi").addListenerForSingleValueEvent(){
@Override
public void onDataChange(Datasnapshot data){
for(Datasnapshot d: data.getChildren()){
yourClass work = d.getValue(yourClass.class);
if(work.getGender().equals("Male"){
double salary = work.getSalary();
if(salary > 5000 && salary < 15000){
//save the worker into a list.
}
}
}
}
}
}
根据本教程,您可以为每个节点创建一个名为:city\u gender的新字段。例如,此字段的值将为Varanasi_Male。它应该是这样的: 城市性别:瓦拉纳西男 通过这种方式,您可以查询Firebase数据库中每一位在瓦拉纳西工作的男性员工。以同样的方式,你可以实现这一点的间隔
希望能有所帮助。可能的重复获取所有数据但只显示相关数据是安全的方法吗?刚刚观看了该系列的一些视频,这看起来像是一个彻底的黑客行为!到目前为止,您是否知道是否添加了函数以允许在不必手动修改noSQL逻辑的情况下进行多重筛选?@RedM我不确定是否理解您的问题,但请使用自己的问题发布一个新的问题,以便我和其他Firebase开发人员可以帮助您。