在FirebaseRecyclerAdapter中跳过行

时间:2017-06-23 22:37:24

标签: android firebase

"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); 由于多个orderBy()将在firebase中抛出异常,因此实现过滤器的另一种方法是什么。

1 个答案:

答案 0 :(得分:0)

目前Firebase仅支持每个查询一个orderBy。

因此,如果您想要在多个属性上过滤或排序结果(在您的情况下为2个查询),您必须在Android代码中进行额外的过滤(或排序)客户端或您必须提出自己的索引方案,并将这些属性组合在一起。

在你的情况下,我建议你添加一个名为newspaperId_status的新子项,它可以将值作为这两个值的连接值,如下所示:

newspaperId_status: -KnLPu2N5039ZbqS_false

通过这种方式,您可以查询状态为false的所有新闻人员。

希望它有所帮助。

相关问题