swift 我想实时获取基于当前用户的Firebase集合中的收入总额

bzzcjhmw  于 2023-09-30  发布在  Swift
关注(0)|答案(1)|浏览(101)

我可以检索收入集合中所有金额的总和,但无法根据登录用户提供的数据进行检索。

下面是我的代码:

func calculatedAmount() {
    let firestoreDatabase = Firestore.firestore()
    
    if let currentUser = Auth.auth().currentUser {
        let currentUserID = currentUser.uid
        
        let userIncomeCollection = firestoreDatabase.collection("incomes").whereField("userID", isEqualTo: currentUserID)
        
        userIncomeCollection.getDocuments { (snapshot, error) in
            if let error = error {
                print("Hata: \(error.localizedDescription)")
            } else {
                var totalAmount = 1

                for document in snapshot!.documents {
                    if  let amount = document.get("amount") as? Int {
                        totalAmount += amount
                    }
                }

                self.mainAccountLabel.text = "\(totalAmount)"
            }
        }
    }
}
deyfvvtc

deyfvvtc1#

Collection -> Documents -> UserId您的文档中没有“userID”属性。你需要给你的文档添加一个userID属性,你不能根据文档ID本身来查询集合的文档。(或者至少这是我看到你正在努力做的事情)。
这里是我的FireStore DB pic的图片

static func fetchUserStats(uid: String, completion: @escaping(UserStats) -> Void) {

    Firestore.firestore().collection("posts").whereField("ownerUid", isEqualTo: uid).getDocuments { snapshot, error in
        
        let posts = snapshot?.documents.count ?? 0
        
        completion(UserStats(followers: followers, following: following, posts: posts))
      }
}

相关问题