Firestore не возвращает запрос Swift 5 Xcode 11.3 - PullRequest
0 голосов
/ 10 января 2020

В настоящее время я пытаюсь разработать приложение ios с использованием Firestore, и при запросе базы данных я не получаю результатов, так как не выполняется ни один из блоков if / else. Мне интересно, что здесь происходит не так ...

db.collection("users").whereField("uid", isEqualTo: uid).getDocuments() { (querySnapshot, error) in
    if let error = error {
        print("Error getting documents: \(error.localizedDescription)")
    } else {
        for document in querySnapshot!.documents {
            weight = document.data()["weight"]! as? Double
        }
    }
}

Структура файла базы данных

Обновление: Я звоню база данных в более раннем методе, и это правильно возвращает имя пользователя (когда я добавляю вес, он также возвращает правильное значение). Но любые последующие звонки ничего не возвращают. Надеюсь, эта информация поможет.

1 Ответ

0 голосов
/ 11 января 2020

У меня такая же структура Firestore, как и у вас, и это работает для меня:

func test() {
    var accessLevel: Double?
    let db = Firestore.firestore()
    db.collection("users").whereField("uid", isEqualTo: UserApi.shared.CURRENT_USER_UID!).getDocuments() { (querySnapshot, error) in
        if let error = error {
            print("Error getting documents: \(error.localizedDescription)")
        } else {
            for document in querySnapshot!.documents {
                accessLevel = document.data()["accessLevel"]! as? Double
                print(accessLevel!)
            }
        }
    }
}

Текущий идентификатор:

// Actual logged-in User
var CURRENT_USER_UID: String? {
    if let currentUserUid = Auth.auth().currentUser?.uid {
        return currentUserUid
    }
    return nil
}

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...