绕过Firebase创建的唯一自动ID。 Swift 3.0

时间:2016-09-22 03:51:07

标签: swift firebase firebase-realtime-database

当我上传图片时,它会自动更新到数据库child(user.uid).child(newImage).childAutoID.setValue() 这是我的json节点

Users
  WOhpPzlHCzYximWyBXas3Prg2rL2
     NewImage
       -KSE4ZcvqhFeWmuRQjjI
       -KSEGLazKbfPePkCBFbe
       -KSEGNVimH7GACRyXbo4
       -KSEGO4gfLGOv0erTXA5
       -KSENPeq7Oa5cru7gKum

在一个autoID中,这是Json树

-KSE4ZcvqhFeWmuRQjjI
    DownloadUrl:  "abcd.com"
    timestamp:    21-09-2016

当我尝试从DownloadUrl获取价值时,我使用子(“用户”),但不能通过用户uid使用子项,无论如何我不能通过Firebase创建的autoUID使用子项。有没有人有任何经验。谢谢

1 个答案:

答案 0 :(得分:0)

Swift 2:

FIRDatabase.database().reference().child("Users/\(FIRAuth.auth()!.currentUser!.uid)/NewImage").observeSingleEventOfType(.Value , withBlock : {(imagesSnap) in 

    if let imagesDict = imagesSnap.value as? [String:AnyObject] {
       for each in imagesDict{
           print(each.0) // your autoId
           print(each.1) // your imageDetails for that autoId  
           }
    }
})

斯威夫特3:

FIRDatabase.database().reference().child("Users/\(FIRAuth.auth()!.currentUser!.uid)/NewImage").observeSingleEvent(of: .value, with : {(imagesSnap) in

        if let imagesDict = imagesSnap.value as? [String:AnyObject] {
        for each in imagesDict{
        print(each.0) // your autoId
        print(each.1) // your imageDetails for that autoId
        }
       }
     })

但是,如果您要查找包含特定键值对Read last part of this answer

的autoID