我希望遍历我的Firestore数据库,以获取我所有文档的总距离
我当前正在使用此查询来获取文档总数
firebaseDB.collection("journey").document(key).collection("journeys")
.getDocuments() { (querySnapshot, err) in
if let err = err {
print("Error getting documents: \(err)")
}
else
{
var totalJourney = 0
for document in querySnapshot!.documents {
totalJourney += 1
print("\(document.documentID) => \(document.data())");
}
print("totalJourney = \(totalJourney)");
self.totalJourney.text = String(totalJourney)
}
}
答案 0 :(得分:2)
您的代码并不是遥不可及,但是您的代码中缺少一些东西-例如,读取每个节点中的距离子对象并将其求和。这是一些示例代码,用于输出旅程次数和总行驶里程。
我的结构比您的结构浅一些,我使用了一个名为“ miles”的子节点来代替距离,但是概念是相同的。
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