"news" : {
"-KnLRSIOyD7HgldFGty" : {
"caption" : "some grounds",
"content" : "some contents",
"created_on" : 1498246403444,
"newspaper_id" : "-KnLPu2N5039ZbqS",
"status" : false,
"thumbnail" : "thumbnail/1498254125498",
},
}
"newspapers" : {
"-KnLRSIOyD7HgldFGty" : {
"logo" : "logo/1498245996906",
"paper_name" : "NewsOnline"
},
}
我想过滤Firebase做这样的事情。 mDatabaseRef.child("news").orderByChild("newspaper_id").equalTo(id).orderByChild("status").equalTo(false);
由于多个订单((将在firebase中抛出异常,因此实现过滤器的另一种方法是什么。
当前firebase每个查询仅支持单个订单。
因此,如果您想在多个属性上过滤或订购结果(在您的情况下为2个查询(,则必须在Android代码中进行其他过滤(或订购(客户端,或者您'LL必须提出您自己的索引方案,将属性结合在一起。
在您的情况下,我建议您添加一个名为newspaperId_status
的新孩子,该孩子可以将值作为两个值的串联获得:
newspaperId_status: -KnLPu2N5039ZbqS_false
通过这种方式,您可以查询所有具有false
状态的报纸。
希望它有帮助。