我可以根据两个属性检索查询吗?

时间:2017-05-20 18:50:31

标签: android firebase firebase-realtime-database

我想从Firebase检索数据。检索数据应该是可见的,并且具有适当的属性“vis”和标记“true”。这是一项非常简单的任务。但是我也想要特定的顺序,所以在开始时应该把属性为“pos”的孩子等于1,而不是2,等等。

我目前有一行代码

mQuery = mDatabaseReference.orderByChild("vis").equalTo("true");

数据结构如下:

common
 code:"common"
 name:"Common"
 pos:"5"
 vis:"false"

 court
 code: "court"
 name: "Court reform"
 pos: "2"
 vis: "false"

 june12
 code: "june12"
 name: "12 June"
 pos: "1"
 vis: "true"

1 个答案:

答案 0 :(得分:0)

简短的回答是否定的。来自文档:

  

您一次只能使用一个 order-by方法。在同一查询中多次调用order-by方法会引发错误。   https://firebase.google.com/docs/database/cpp/retrieve-data#sorting_and_filtering_data

您可以使用过滤功能限制数据范围:https://firebase.google.com/docs/database/cpp/retrieve-data#filtering_data

务必观看Firebase for SQL devs系列。具体来说,denormalization(#6)上的视频和后续多路径更新(#7)。可以使用Cloud function triggers在服务器端执行多路径更新。