【发布时间】:2019-09-28 04:02:54
【问题描述】:
我的数据库的屏幕截图
我想通过返回具有某些相似子节点的所有父节点的名称来查询我的数据库。
我已经在获取一位父母的姓名,但我想获取所有具有相似孩子值的父母的姓名。
假设,我想获取具有相似子节点值2000 并且评级为3-star 的酒店的名称。
final List<String> hotelNames = new ArrayList<String>();
final Query userQuery = FirebaseDatabase.getInstance().getReference().child("F-5").orderByChild("HotelTypeTwo");
userQuery.equalTo(varX).addListenerForSingleValueEvent(
new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for (DataSnapshot foodSnapshot: dataSnapshot.getChildren()) {
hotelNames.add(foodSnapshot.getKey());
for (int i=0;i < hotelNames.size();i++)
{
Log.i("Value of element "+i,hotelNames.get(i));
}
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
}
);
【问题讨论】:
-
请添加您的数据库结构并指明您想要获取的确切数据。
-
我已经分享了我的数据库的截图。我还编辑了所需数据的问题。
-
所以你想得到所有
HotelTypeTwo等于Desi的酒店,根据你的截图你期望的结果应该是:Islamabad Mariott Hotel和Islamabad Hotel,对吧? -
没错!但请添加另一个条件,其中“评分”也等于“3 星”。
-
目前不能使用两个 where 条件。仅对一种情况有帮助的答案吗?
标签: java android firebase firebase-realtime-database