【发布时间】:2018-01-25 18:55:07
【问题描述】:
所以我在这里被困了半天,我试图获得 Arya 的所有主题,但我很难做到。
这是 Firebase 中的示例结构。
-Subjects
-math
id: 1
name: Math
-students
-Arya
id: 1
name: Arya
-JonSnow
id: 2
name: JonSnow
+justsomename
+science
+english
+history
+computer
然后我找到了这个Querying in Firebase by child of child。
我试过了
ref.queryOrdered(byChild: "students/name").queryEqual(toValue: "Arya").observeSingleEvent(of: .value, with: { snapshot in
print(snapshot)
})
ref == 主题
但这就是回报
Snap (subjects) <null>
查询是否正确,我只是做错了什么?
【问题讨论】:
-
你想获得什么价值?
-
我正在尝试与一个名叫 Arya 的学生一起学习所有科目。
-
@MaappeaL 你试过分开
students/name吗?我不知道这是否会解决它,但我会尝试一下:child("students").queryOrdered(byChild: "name").queryEqual(toValue:"Arya)"。ref呢,它指向Subjects/-math? -
我认为这是因为您正在寻找与学生相同的科目的孩子,但找不到孩子学生,因为那是数学等科目的另一个孩子。你需要得到它来检查每个主题的孩子,即你所拥有的查询的数学。
-
Firebase 数据库查询可以按已知路径的属性进行过滤。无法像您尝试那样在动态路径上查询属性。这意味着您需要修改数据模型以允许您想要的查询,例如存储“每个学生的课程”的顶级列表。另见stackoverflow.com/questions/27207059/…
标签: swift firebase firebase-realtime-database