我有两个旋转器,用于服务和员工。
在我的应用程序中,我想让用户选择服务列表,然后我只为可用于该服务的员工填写员工微调器
我的员工类和结构类似:
"Employees" : {
"eid1" : {
"name" : "john",
"services" : {
//john has 3
"sid1" : "true",
"sid2" : "true",
"sid3" : "true"
},
"eid2" : {
"name" : "david",
"services" : {
//david only has 1
"sid2" : "true"
}
}
我的服务结构是:
"Services" : {
"sid1" : {
"name" : "read"
},
"sid2" : {
"name" : "write"
},
"sid2" : {
"name" : "erase"
}
}
示例:如果我选择service2,查询将找到john和david。如果我选择service1,那么只会获取john并将其添加到我的微调器中。
我混淆了我应该使用的查询,我测试了一些,包括这个,但是当我在调试模式下运行它时总是跳过:
mDatabase.child("Employees").orderByChild("services").equalTo(serviceList.get(position).getName()).addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for (DataSnapshot dsp : dataSnapshot.getChildren()) {
//System.out.println(dsp.getKey());
}
}