iOS Firebase / Firestore-数组计算的读取次数为多少

时间:2020-06-29 17:11:41

标签: ios swift firebase google-cloud-firestore

我有读取数组的代码。我想知道这是否算作1次读取,还是数组中的每个元素都算作读取(使用Firestore)

    var userList = [User]()
    var removeUserListener: ListenerRegistration!

    func addUserObserver(_ update: @escaping () -> Void) {
        removeUserListener = FriendSystem.system.USER_REF.addSnapshotListener { snapshot, error in
            self.userList.removeAll()
            
            guard error == nil else {
                #if DEBUG
                    print("Error retreiving collection")
                #endif
                return
            }
            
            let group = DispatchGroup()
            
            for document in snapshot!.documents {
                let email =  document.get("email") as! String
                let username =  document.get("username") as! String
                group.enter()
                if email != Auth.auth().currentUser?.email! {
                    self.userList.append(User(userEmail: email, userID: document.documentID, userName: username))
                    group.leave()
                }
            }
            
            group.notify(queue: .main) {
                update()
            }
        }
    }

1 个答案:

答案 0 :(得分:1)

读取一份文档需要进行一次读取操作。该文档包含什么都没有关系。一旦在内存中保存了DocumentSnapshot,就可以随意访问所有字段。