如何基于多个等于 [重复] 查询 Firebase

Posted

技术标签:

【中文标题】如何基于多个等于 [重复] 查询 Firebase【英文标题】:How to Query Firebase based on Multiple Equal to [duplicate] 【发布时间】:2020-03-30 09:55:41 【问题描述】:

我有以下火力基地结构。由此我需要根据查询where Dstatus=ok and Drmoble=mobile no 获取数据

到目前为止,我已经写了这个仅适用于单个值。如何将两者结合起来

 mReferenceBooks.orderByChild("Drmoble").equalTo(mobile_no).addValueEventListener(new ValueEventListener() 

 @Override
 public void onDataChange(DataSnapshot dataSnapshot) 

【问题讨论】:

Firebase 数据库查询只能对单个属性进行排序/过滤。在许多情况下,可以将要过滤的值组合成单个(合成)属性。有关此方法和其他方法的示例,请在此处查看我的答案:***.com/questions/26700924/… 【参考方案1】:

在firebase实时数据库中,他们没有AND查询,这意味着你不能这样做:

mReferenceBooks.orderByChild("Drmoble").equalTo(mobile_no).orderByChild("DStatus").equalTo("ok")

要解决此问题,您可以创建另一个包含DStatusDrmoble 的字段,例如:

randomId
     dstatus-drmoble : "01810000-ok"

那么你可以使用下面的查询:

mReferenceBooks.orderByChild("dstatus-drmoble").equalTo("01810000-ok").addValueEventListener(new ValueEventListener() 

【讨论】:

以上是关于如何基于多个等于 [重复] 查询 Firebase的主要内容,如果未能解决你的问题,请参考以下文章

查询中的Firebase多个WHERE子句[重复]

基于 Firebase 中多个 where 子句的查询

如何以编程方式获取 Firebase 中的注册用户列表 [重复]

如何按两个字段对 Firebase 记录进行排序(Android)[重复]

如何按两个字段对 Firebase 记录进行排序(Android)[重复]

如何按两个字段对 Firebase 记录进行排序(Android)[重复]