swift firebase read all users data in autokey code example

Example: swift firebase read key in autoKey

//https://stackoverflow.com/questions/53350869/swift-fetching-all-users-to-an-array
//MVC - MVVM
//First Step
struct User{
    var id:String
    var username:String?
    var occupation:String?
    var age:Int?
    var bio:String?
    var email:String?
}


//Second Step
let query = self.ref.child("Users").queryOrdered(byChild: "email")
    query.observeSingleEvent(of: .value) {
        (snapshot) in
        for child in snapshot.children.allObjects as! [DataSnapshot] {
            let id = child.key
          //optional Line for sub childs
          //let key  = child.childSnapshot(forPath: "SubChild")//optional
            
          let value = child.value as? NSDictionary//let value = key.value as? NSDictionary
            let username = value?["Username"] as? String
            let occupation = value?["Occupation"] as? String
            let age = value?["Age"] as? Int
            let bio = value?["Bio"] as? String
            let email = value?["email"] as? String

            let user = User(id: id, username: username, occupation: occupation, age: age, bio: bio, email: email)

            self.usersArray.append(user)
        }
        completion("Users list fetched")
    }