我正在尝试使用当前用户uid作为唯一标识符来存储关联的用户数据,因为实时数据库中存在用户uid,即ref.child(“User / uid”):
示例:当用户创建一个帐户时,它会添加到Firebase控制台的身份验证部分,并让用户填写表单,如名字,姓氏,DOB等 . 如何将数据实时链接到用户UID数据库 .
当您注册任何新用户时,您需要先注册代码:
FIRAuth.auth()?.createUserWithEmail(UserEmail, password: UserPassword, completion: { (user, error) in
在成功响应中,您可以使用 dictionary 设置用户更多详细信息,并使用以下代码添加Child,使用 SetValue 方法:
dictionary
SetValue
ref.child("users").child(user!.uid).setValue(["Provider": self.txtPassword.text!,"Email": self.txtEmail.text!,"Firstname": self.txtFName.text!,"Lastname": self.txtLname.text!,"Phone": self.txtPhone.text!,])
这里 user!.uid 是主USER树中唯一的用户ID子项 .
所以你的firebase树看起来像:
和
示例代码:
@IBAction func ActionRegister(sender: UIButton) { let ref : FIRDatabaseReference! ref = FIRDatabase.database().reference() FIRAuth.auth()?.createUserWithEmail("abc@abc.com", password: "1234567", completion: { (user, error) in if((error) != nil) { print("Error is = \(error?.localizedDescription)") } else { // following method is a add user's more details ref.child("users").child(user!.uid).setValue(["Provider": "1234566", "Email": "abc@abc.com", "Firstname": "nitin", "Lastname": "Gohel", "Phone": "12345678" ]) //following method get the registers user details ref.child("users").child(user!.uid).observeSingleEventOfType(.Value, withBlock: { snapshot in let postDict = snapshot.value as! [String : AnyObject] print("Error is = \(postDict)") }) } }) }
1 回答
当您注册任何新用户时,您需要先注册代码:
在成功响应中,您可以使用
dictionary
设置用户更多详细信息,并使用以下代码添加Child,使用SetValue
方法:这里 user!.uid 是主USER树中唯一的用户ID子项 .
所以你的firebase树看起来像:
和
示例代码: