![](/img/trans.png)
[英]SwiftUI and Firestore - logic for reading multiple documents from different collections at startup
[英]getting documents from a subcollection Firestore swiftUI
我正在嘗試從 Firestore 的子集合中的文檔中檢索數據,但它在執行后返回一個空數組。
我嘗試執行以下操作。
@Published var OrdersID = [String]()
func fetchOrdersID(){
FirebaseManager.shared.firestore.collection("Users").document(id).collection("OrdersID").getDocuments { snapshot, error in
guard let documents = snapshot?.documents else {
print("No documents")
return
}
DispatchQueue.main.async {
self.OrdersID = documents.map{ d in
return d["id"] as? String ?? ""
}
}
}
}
但它仍然在 function 之外返回一個空的 OrdersID 數組,並在其中返回正確的數組列表(IMAGE 1 顯示了這一點,訂單 ID 是 OrdersID 數組IMAGE 1的內容)
您可以嘗試 escaping 完成..
@Published var OrdersID = [String]()
func fetchOrdersID(withCompletion completion: @escaping ((_ orderID: String) -> (Void))) {
FirebaseManager.shared.firestore.collection("Users").document(id).collection("OrdersID").getDocuments { snapshot, error in
guard let documents = snapshot?.documents else {
print("No documents")
return
}
let orderID = documents["id"] as? String ?? ""
completion(orderID)
}
}
然后當你go來電話時,你可以添加到OrdersId ...
fetchOrdersID { orderID in
OrdersID.append(orderID)
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.