使用observeSingleEvent

时间:2017-03-23 04:26:27

标签: firebase swift3 firebase-realtime-database

我想找一位特定艺术家的设定时间。

我有艺术家名单

artistRef = FIRDatabase.database().reference(withPath: "artists")

我有一个集合列表(次)

showRef = FIRDatabase.database().reference(withPath: "sets")
  • 艺术家
    • artist1
      • 姓名:艺术家1
    • artist2
      • 姓名:艺术家2
    • SET1
      • venueKey:venue1
      • artistKey:artist1
      • 时间:1月1日
    • SET2
      • venueKey:venue1
      • artistKey:artist2
      • 时间:1月1日
    • SET3
      • venueKey:venue2
      • artistKey:artist1
      • 时间:1月2日

我想让所有艺术家1次定时: [set1,set3]

以下快照返回null:

showRef.queryEqual(toValue: artist?.key, childKey: "artistKey").observeSingleEvent(of: .value, with: { snapshot in
...           
})

有什么我明显做错了吗?

1 个答案:

答案 0 :(得分:3)

尝试在queryOrdered(byChild:)之前使用queryEqual(toValue:),就像这样。

showRef.queryOrdered(byChild: "artistKey").queryEqual(toValue: artist?.key).observeSingleEvent(of: .value, with: { snapshot in
     for set in snapshot.children {
         print("\((set as! FIRDataSnapshot).value)")
     }
})