2016-09-17 72 views
1

我如何提取孩子的ID值(即followerID1,followerID2 ...)?該火力點的結構如下:Firebase:如何從子節點中提取子鍵值swift

Followers:{ 
    USER_ID:{ 
     followerID1 = false; 
     followerID2 = true; 
     followerID3 = true; 
    } 
} 

Im做在Xcode以下,但它顯示我下USER_ID整個節點:

self.databaseRef.child("Followers").child(self.USER_ID).Value, withBlock: { (snapshot:FIRDataSnapshot) in 
      self.userFollowDump = snapshot 
}) 

謝謝!我是新來的火力點:)

回答

5

試試這個: -

  • 斯威夫特3

    FIRDatabase.database().reference().child("Followers").child(FIRAuth.auth()!.currentUser!.uid).observeSingleEvent(of: .value, with: { (snapshot) in 
         if let userDict = snapshot.value as? [String:AnyObject]{ 
          for each in userDict{ 
           let follwerID = each.0 as! String // Every follwers ID. 
          } 
         } 
        }) 
    

    如果你正在尋找followerId它的價值true

    FIRDatabase.database().reference().child("Followers").child(FIRAuth.auth()!.currentUser!.uid).queryOrderedByValue().queryEqual(toValue: true).observeSingleEvent(of: .value, with: {(snap) in 
         if let snapDict = snap.value as? [String:AnyObject]{ 
          for each in snapDict{ 
    
           print(each.key) 
          } 
         } 
        }) 
    
  • 斯威夫特2

    FIRDatabase.database().reference().child("Followers").child(FIRAuth.auth()!.currentUser!.uid).observeSingleEventOfType(.Value, withBlock: { (snapshot) in 
    if let userDict = snapshot.value as? [String:AnyObject]{ 
         for each in userDict{ 
         let follwerID = each.0 as! String // Every follwers ID. 
         } 
        } 
        }) 
    

    但是,如果你正在尋找followerId它的價值是true

    FIRDatabase.database().reference().child("Followers").child(FIRAuth.auth()!.currentUser!.uid).queryOrderedByValue().queryEqualToValue(true).observeSingleEventOfType(.Value, withBlock: {(snap) in 
        if let snapDict = snap.value as? [String:AnyObject]{ 
         for each in snapDict{ 
    
          print(each.key) 
         } 
        } 
    }) 
    
+0

謝謝@Dravidian這個工作就像一個魅力。 – gk103

相關問題