android - Firebase实时数据库数组查询问题

标签 android ios swift firebase firebase-realtime-database

我需要一个 Firebase 查询来根据数组的值过滤列表。

enter image description here

如果 GID(Array) 的任何索引包含给定的键。例如,我的 key 是 YsGMyfLSGRNHxDWQmhpuPRqtxlq1,一个节点的 GID 在第 0 个索引上有该 key ,其他节点的 GID 在第 1 个索引上有该 key 。所以需要返回这两个列表。

目前,我只能使用代码获取第 0 个索引处的值

//userID = YsGMyfLSGRNHxDWQmhpuPRqtxlq1
 firebaseDatabase.child("Groups").queryOrdered(byChild: "GID/0").queryEqual(toValue:userID)

当我尝试合并查询时,出现错误。

最佳答案

我不知道您的数据库结构,但我可以解释一下,Firebase 实时数据库有一个限制,您只能按 1 个子项订购。 因此,现在如果我们需要按 2 个子节点排序,我们可以组合 2 个节点并将其设为 1 个节点,并可以通过查询对其应用排序。例如

如果我们有用户名电子邮件字段,我们可以创建一个新字段username_email并可以在其上应用订单。

喜欢

user: {
     username: "john",
     email: "john@g.com"
     username_email = "john_john@g.com"
}

现在我们可以写了

firebaseDatabase.child("user").queryOrdered(byChild: "username_email").queryEqual(toValue: "john_john@g.com");

关于android - Firebase实时数据库数组查询问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56375446/

相关文章:

android - preferencefragment 没有找到 id android 的 View

javascript - 在 Android 浏览器上,在文本框内输入时整个页面会上下跳动?

ios - Facebook SDK 2.4如何从用户那里获取事件?

ios - CALayer 创建透明圆形 mask

安卓编程 : Stay with CyanogenMod?

java - 静态变量因未知原因而被重置

ios - Swift 3从本地目录加载图像

ios - 不断更新用户当前位置是个好主意吗?

ios - 将 UIView 框架设置为等于来自不同 super View 的另一个 View 的框架

objective-c - Swift Extension 无法向 Objective-C 类添加重载方法