Этот ответ аналогичен предыдущему ответу здесь
Что вы хотите сделать, это обработать каждого ребенка в Customer как DataSnapshot, тогда к детям можно получить доступ.
Учитывая структуру Firebase:
usersDatabase
uid_0
Customers
Ben Smith
data: "Some data"
Tom Cruise
data: "Some data"
uid_1
Customers
Leroy Jenkins
data: "Some data"
uid_2
Customers
De Kelly
data: "Some data"
etc
Код для распечатки каждого пользователя и его клиентов:
let usersDatabaseRef = Database.database().reference().child("usersDatabase")
usersDatabaseRef.observe(.value, with: { snapshot in
print("there are \(snapshot.childrenCount) users")
for child in snapshot.children {
let childSnap = child as! DataSnapshot
print("user: \(childSnap.key)")
let userCustomerSnap = childSnap.childSnapshot(forPath: "Customers")
for customer in userCustomerSnap.children {
let customerSnap = customer as! DataSnapshot
print(" customer: \(customerSnap.key)")
}
}
})
и вывод
there are 3 users
user: uid_0
customer: Ben Smith
customer: Tom Cruise
user: uid_1
customer: Leroy Jenkins
user: uid_2
customer: De Kelly
customer: Leonard Nimoy
customer: William Shatner
Редактировать : ОП хотел знать, как получить доступ к узлу data под каждым клиентом, так что вот немного измененная версия с выводом
let usersDatabaseRef = Database.database().reference().child("usersDatabase")
usersDatabaseRef.observe(.value, with: { snapshot in
print("there are \(snapshot.childrenCount) users")
for child in snapshot.children {
let childSnap = child as! DataSnapshot
print("user: \(childSnap.key)")
let userCustomerSnap = childSnap.childSnapshot(forPath: "Customers")
for customer in userCustomerSnap.children {
let customerSnap = customer as! DataSnapshot
let dict = customerSnap.value as! [String: Any]
let value = dict["data"] as! String
print(" customer: \(customerSnap.key)")
print(" and their data is: \(value)")
}
}
})
и выводом
there are 3 users
user: uid_0
customer: Ben Smith
and their data is: some data
customer: Tom Cruise
and their data is: some data
user: uid_1
customer: Leroy Jenkins
and their data is: some data
user: uid_2
customer: De Kelly
and their data is: some data
customer: Leonard Nimoy
and their data is: some data
customer: William Shatner
and their data is: some data