Firebase如何显示未知id的孩子的特定孩子

时间:2018-01-04 14:24:46

标签: ios firebase swift3 firebase-realtime-database

我想访问孩子的数据" name"和" photoURL"孩子"成员"?您可以在图像中看到我的数据库的结构。 我的数据库的结构是这样的: enter image description here

enter image description here

用户可以显示标记的地图,这些标记是事件。我想在一个表格中显示除了创建这个房间的用户以外的所有房间成员,创建标记并将其放在地图上的人都是一样的。 我试图使用queryOrdered()和queryEqual()方法,因为我知道room.key谁是孩子的价值"键"在数据库上。 但是,我怎样才能访问子成员并在表格中显示所有成员的名字,并将其作为照片。

let refParticipants = refDatabase.child("markers").queryOrdered(byChild: "key").queryEqual(toValue: room.key)
refParticipants.observe(.childAdded, with: { snapshot in
    ...
}

我使用Swift 3.1

1 个答案:

答案 0 :(得分:0)

查看您的数据结构,您似乎将密钥保存为字符串(例如:" 128330")。我不知道room.key是什么,但如果它不是字符串我不认为.queryEqual(toValue: room.key)会起作用。

您可以通过运行以下查询来测试:

ref.child("markers").queryOrderedByChild("key").queryEqual(toValue: "128330").observeSingleEvent(of: .value, with: {(snapshot) in
    print(snapshot) 
})

如果上述查询不为null,则表示您已找到问题。如果这不起作用,请尝试将.childAdded更改为.value

ref.child("markers").queryOrderedByChild("key").queryEqual(toValue: room.key).observeSingleEvent(of: .value, with: {(snapshot) in
    print(snapshot) 
})