android - android : How to filter items in firebase by referring another database reference property
问题描述
I want to get only items that are in users favorites that has required city. For example, if the user has 20 favorite items and if user wants to filter favorites that exists in specific city how to filter it?
Sorry for my English. If anything is not clear, ask me.
解决方案
看看下面的数据库结构:
root : {
user_01 : {
fav_01 : {
data : val,
city : "city_01"
}
fav_02 : {
data : val,
city : "city_02"
}
fav_03 : {
data : val,
city : "city_01"
}
}
}
现在在 andorid 中进行这样的查询:
String user = "user_01";
String city_name = "city_01";
int limit = 10;
DatabaseReference favRef= FirebaseDatabase.getInstance().getReference("root/").child(user);
Query query = favRef.orderByChild("city").equalTo(city_name).limitToFirst(limit);
query.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
Log.e(TAG, "onDataChange: "+dataSnapshot.toString());
//you will get fav_01 and fav_3 objects
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
Log.e(TAG, "onCancelled: "+databaseError.toString());
}
});
希望它可以帮助您快乐编码:)
推荐阅读
- python - 如何避免多次加载模块?
- python - 如何在 GIT 和 python 中具有分支特定变量
- .net-core - 读取本地存储的图像作为背景图像进行减法
- excel - 防止用户在用户表单中输入之前的日期
- python - 我应该如何在静态图像 api 的 URL 中添加 geojson?
- vba - 如何使用 VBA 通过 Shadow DOM 单击元素?
- azure - 如何从 Azure Functions 接收事件消息以获取 WebApp 中的内容?
- excel - 根据可选过滤条件计算 Excel 中的行数
- javascript - 在 vue 测试 utils 中 $refs 设置为空对象
- openmodelica - OpenModelica:如何为 MSL 4.0.0 安装包(ModelicaServices)?