对于每个唯一的用户ID,Firebase存储中可能存在或可能没有包含名为 profile.jpg 的图像的目录。 我正在尝试创建一个对所有用户进行排序的查询:
"age": 12
和我的数据库结构是:
{
"Users" : {
"uid1" : {
"name" : "Josh",
"age": 12
},
"uid2" : {
"name" : "June",
"age": 13
}
}
}
我的存储结构如下:
example.appspot.com > uploads > uid1 > profile.jpg
我设法解决了第一部分,该部分使用以下内容对12岁以下的用户进行了排序:
Query query = FirebaseDatabase.getInstance().getReference().child("Users").orderByChild("age").equalTo(12);
但是我还如何添加第二个逻辑,即首先对12岁的用户进行排序之后,过滤在同一查询中具有个人资料图片的用户。
答案 0 :(得分:0)
我认为不可能将FirebaseDatabase查询与Firebase Storage查询结合使用。我建议向数据库中添加一个节点,该节点说明用户是否具有profile.jpg,然后选择要在哪个字段上进行排序。
{
"Users" : {
"uid1" : {
"name" : "Josh",
"age": 12,
"hasPhoto": true
},
"uid2" : {
"name" : "June",
"age": 13,
"hasPhoto": false
}
}
}
然后,我认为Firebase Realtime Database不允许对多个字段进行排序,因此您可以这样做:
在一个字段(“年龄”)上排序,获取结果,然后根据这些User对象的客户端是否具有jpg对其进行排序/过滤。另外,Firestore允许查询多个字段。