如何使用uid文档id FirebaseAuth Firestore获取Firestore字段信息
在我的代码中,当用户使用email、pass和firstName注册时,我进入firebase:他们的电子邮件与uid相关,在cloudfirestore中,我获得firstName,uid作为“Users”集合中的文档id。我想显示用户名。怎么做 编辑: 在ModelData类中,我需要注册以下代码,并添加了以下内容:如何使用uid文档id FirebaseAuth Firestore获取Firestore字段信息,firebase,google-cloud-firestore,firebase-authentication,swiftui,Firebase,Google Cloud Firestore,Firebase Authentication,Swiftui,在我的代码中,当用户使用email、pass和firstName注册时,我进入firebase:他们的电子邮件与uid相关,在cloudfirestore中,我获得firstName,uid作为“Users”集合中的文档id。我想显示用户名。怎么做 编辑: 在ModelData类中,我需要注册以下代码,并添加了以下内容: func signUp(){ // checking.... if email_SignUp == ""
func signUp(){
// checking....
if email_SignUp == "" || password_SignUp == "" || reEnterPassword == "" || userName == ""{
self.alertMsg = "Error"
self.alert.toggle()
return
}
if password_SignUp != reEnterPassword{
self.alertMsg = "Error"
self.alert.toggle()
return
}
withAnimation{
self.isLoading.toggle()
}
Auth.auth().createUser(withEmail: email_SignUp, password: password_SignUp) { [self] (result, err) in
withAnimation{
self.isLoading.toggle()
}
if err != nil{
self.alertMsg = "Error"
self.alert.toggle()
return
}
let db = Firestore.firestore()
let docRef = db.collection("PROFILE").document(user?.uid ?? "")
db.collection("PROFILE").document(result!.user.uid).setData(["userName" : self.userName])
docRef.getDocument { (document, error) in
if let document = document, document.exists {
let data = document.data()
return data.userName
} else {
// Handle error here
}
}
result?.user.sendEmailVerification(completion: { (err) in
if err != nil{
self.alertMsg = err!.localizedDescription
self.alert.toggle()
return
}
// Alerting User To Verify Email...
self.alertMsg = ""
self.alert.toggle()
})
}
}
在获取类型“[String:Any]”的错误
值时,没有成员“userName”
中,您将在用户firestore集合中查询文档id(uid),获取()数据,然后返回数据。firstName:
let docRef = db.collection("Users").document(uid)
docRef.getDocument { (document, error) in
if let document = document, document.exists {
let data = document.data()
return data.firstName
} else {
// Handle error here
}
}
谢谢您的回复!但是,我仍然面临问题。我刚刚更新了我的问题我应该在哪里添加此代码?就在setData()之后?