root
|
@--reviews
|
|
@--postABC // postId
|
|
@--reviewXYZ // ***I want everything under this reviewUID
| |
| |--buyerUID: "01010"
| |--text: "fast shipping!"
| |
| @--responseTUV // responseUID
| |
| |--sellerUID: "212555"
| |--text: "we aim to please"
|
@--reviewEFG // this review is from a totally different user I don't want anything from here
Моя база данных настроена, как указано выше. Иногда у меня есть только идентификатор покупателя, поэтому для извлечения данных, которые я использую .queryOrdered(byChild: "buyerUID").queryEqual(toValue: "01010")
, я могу найти покупателя по этому конкретному сообщению и его просмотру.
Как я могу получить все другие к / v, связанные с покупателем в этом узле (reviewXYZ), как только я их обнаружу?
let reviewsRef = Database.database().reference()?
.child("reviews")
.child("postABC")
.queryOrdered(byChild: "buyerUID")
.queryEqual(toValue: "01010")
reviewsRef?.observeSingleEvent(of: .value, with: { [weak self](snapshot) in
print(snapshot.key) // prints postABC
print(snapshot.value) // prints a dictionary with reviewXYZ as the key and everything underneath it as a value
guard let dict = snapshot.value as? [String: Any] else { return }
})