获取键值但不是 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"] 即您的房间名称。