我想知道如何根据对象内容检索该对象的密钥。我正在使用实时Firebase数据库。
JSON代码:
"Places" : {
"-M11-OIIHbKTVqCJ-Swv" : {
"name" : "Farmacia Pagani Dr. Roberto",
"others" : {
"Abilify" : 100,
"Acetaminophen" : 120,
"Acyclovir" : 140,
"Adderall" : 160
}
},
"-M11-OJJCGAPdJUknLXX" : {
"name" : "FARMACIA DR. TUMIATTI MARIANO",
"others" : {
"Abilify" : 100,
"Acetaminophen" : 120,
"Acyclovir" : 140,
"Adderall" : 160
}
}
如果我的名字是:Farmacia Pagani Roberto Dr. Roberto,我想检索M11-OIIHbKTVqCJ-Swv“
我写的代码:
mUserDatabase = FirebaseDatabase.getInstance().getReference("Places");
Query query = mUserDatabase.orderByChild("name").equalTo(nameOfThePharmacy);
query.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
System.out.println("The key is : "+dataSnapshot.getKey());
}
@Override
public void onCancelled(DatabaseError databaseError) {
throw databaseError.toException();
}
});
此代码无效,返回:“ Places”,但我想要包含与= ad example Farmacia Pagani Dr. Roberto相等的字段名称的对象的键,输出应为:-M11-OIIHbKTVqCJ -Swv