获取键值但不是 Firebase 的根值
Getting key value but not the root value of Firebase
我有一个节点,我正在尝试获取值的键。节点如下所示:
roomMembers
- "user1_user2" (roomname)
- user1: true
- user2: true
- "user1_user3"
- user1: true
- user2: true
我正在尝试通过使用 .Value
和 .ChildAdded
.
来检索和了解 "user1_user2" 和 "user1_user3"
let membersRef = Firebase(url: self.dataURL + "/roomMembers")
membersRef.queryOrderedByChild("user1").observeSingleEventOfType(.Value, withBlock: { snapshot in
snapshot.value // returns the objects as `[String: [String:Bool]]`
snapshot.key // returns 'roomMembers'
})
当我使用.ChildAdded
时,它只有returns一个值
membersRef.queryOrderedByChild("user1").observeEventOfType(.ChildAdded, withBlock: { snapshot in
snapshot.key // returns the right level, but only returns "user1_user2".
snapshot.value // also returns only one value
如何使用 .Value
和 .ChildAdded
通过单个查询获得 "user1_user2" 和 "user1_user3"(所有房间名称)?
编辑:
假设我有这样一个节点:
lastMessages
- "user1_user2"
- -KJrqHaMzA9Hi-RS_ieV (timestamp'ed id)
- sender
- message
- opponent_seen
- "user1_user3"
- -KJrqHaMzA9Hi-RS_ieB
- sender
- message
- opponent_seen
如何获取带时间戳的键及其值?
要获取所有房间名称...您必须像
一样获取 allKeys
snapshot.value.allKeys()
这将为您提供 ["user1_user2","user1_user3"]
即您的房间名称。
我有一个节点,我正在尝试获取值的键。节点如下所示:
roomMembers
- "user1_user2" (roomname)
- user1: true
- user2: true
- "user1_user3"
- user1: true
- user2: true
我正在尝试通过使用 .Value
和 .ChildAdded
.
let membersRef = Firebase(url: self.dataURL + "/roomMembers")
membersRef.queryOrderedByChild("user1").observeSingleEventOfType(.Value, withBlock: { snapshot in
snapshot.value // returns the objects as `[String: [String:Bool]]`
snapshot.key // returns 'roomMembers'
})
当我使用.ChildAdded
时,它只有returns一个值
membersRef.queryOrderedByChild("user1").observeEventOfType(.ChildAdded, withBlock: { snapshot in
snapshot.key // returns the right level, but only returns "user1_user2".
snapshot.value // also returns only one value
如何使用 .Value
和 .ChildAdded
通过单个查询获得 "user1_user2" 和 "user1_user3"(所有房间名称)?
编辑:
假设我有这样一个节点:
lastMessages
- "user1_user2"
- -KJrqHaMzA9Hi-RS_ieV (timestamp'ed id)
- sender
- message
- opponent_seen
- "user1_user3"
- -KJrqHaMzA9Hi-RS_ieB
- sender
- message
- opponent_seen
如何获取带时间戳的键及其值?
要获取所有房间名称...您必须像
一样获取 allKeys snapshot.value.allKeys()
这将为您提供 ["user1_user2","user1_user3"]
即您的房间名称。