我想从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"
答案 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在服务器端执行多路径更新。