Ваш код не за горами, но в вашем коде не хватает нескольких вещей - например, чтение дочернего расстояния в каждом узле и суммирование их.Вот пример кода, который выводит количество путешествий и общее количество пройденных миль.
Моя структура немного меньше вашей, и я использовал дочерний узел с именем «мили» вместо расстояния, но концепция та же.
func readJourneys() {
self.db.collection("journeys").getDocuments() { (querySnapshot, err) in
if let err = err {
print("Error getting documents: \(err)")
} else {
let count = querySnapshot!.documents.count
var totalMiles = 0
for document in querySnapshot!.documents {
//let journeyId = document.documentID
let miles = document.get("miles") as! Int
totalMiles += miles
}
print("There were: \(count) journeys covering: \(totalMiles) miles")
}
}
}
и вывод
There were: 3 journeys covering: 20 miles