Auth.auth().currentUser
в вашем коде определяет пользователя, который вошел в систему с помощью аутентификации Firebase.
На снимке экрана в вашем вопросе показан документ из базы данных Cloud Firestore.
Хотя оба продукта являются частью Firebase, вы не можете получить доступ к документам в Firestore через Firebase Authentication API.
Если вы хотите получить доступ к документу на скриншоте, используйте Firestore API, который задокументирован здесь .
В загрузить документ для пользователя, который в данный момент вошел в систему аутентификации Firebase, это будет примерно так:
let user = Auth.auth().currentUser
let uid = user.uid
let docRef = db.collection("users").document(uid)
docRef.getDocument { (document, error) in
if let document = document, document.exists {
let username2 = document.get("username")
...
} else {
print("Document does not exist")
}
}
Обновление * Теперь я заметил, что у вас есть UID пользователя внутри документа. В этом случае вам нужно использовать запрос , чтобы найти документы, которые соответствуют значению UID:
db.collection("users").whereField("uid", isEqualTo: uid)
.getDocuments() { (querySnapshot, err) in
if let err = err {
print("Error getting documents: \(err)")
} else {
for document in querySnapshot!.documents {
let username2 = document.get("username")
self.username?.text = username2 as? String
}
}
}
Поскольку в этом случае может быть несколько документов с UID, так что вам придется l oop и разобраться с этим.
Пожалуйста, также прочтите ссылки, которые я добавил, так как большая часть из них копируется / вставляется оттуда, и мои знания Swift невелики.