Получение информации о базе данных на основе UID - PullRequest
0 голосов
/ 07 марта 2020
// if im ride leader, fetch details from firebase using my UID for name ect.
@IBAction func RideLeaderSwitchOn(_ sender: Any) {
   // hide feild for other user search
    if RideLeaderSwitch.isOn{
        OtherRideLeaderFeild.isHidden = true
        // perform databse search for current user info
        let user = Auth.auth().currentUser
        let db = Firestore.firestore()
        if let user = user{
            let uid = user.uid
            let docRef = db.collection("users").document(uid)
                docRef.getDocument { (document, error) in
                   if let document = document, document.exists {
                       let property = document.get("firstName")
                    print("Document data: \(String(describing: property))")
                   } else {
                       print("Document does not exist")
                   }
               }
            }
        }else{
         // if im NOT ride lead, Get user to enter another users First and Last Name and do an firebase search for a matching user
        OtherRideLeaderFeild.isHidden = false
    }
}

Database layout

Я пытаюсь получить имя текущего пользователя, вошедшего в систему, сопоставив текущий UID с идентификатором в документе firebase, а затем потянув только по имени, когда я использую этот запрос, я получаю ошибку «документ не существует», где я ошибаюсь в своем запросе?

1 Ответ

1 голос
/ 07 марта 2020

Вы не получите никаких результатов, потому что ваш идентификатор документа не совпадает с вашим идентификатором пользователя. Вместо этого создайте запрос следующим образом:

let docRef = db.collection("users")
               .whereField("uid", isEqualTo: uid)
               .getDocuments { (snapshot, error) in
    print(snapshot.documents)
}

Или, если вы хотите, чтобы ваш запрос работал, запрашивая идентификатор документа, установите идентификатор документа таким же, как ваш uid при создании документа.

db.collection("users").document(uid).setData(["item": "test"]) 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...