2017-02-26 77 views
0

如何以正确的方式测试用户名是否存在?此代码不起作用。我是否需要以某种方式更新我的规则?我不太熟悉Firebase规则。以合适的方式读取和写入规则Firebase

规则:

{ 
    "rules": { 
     "Users":{ 
      ".read": "true", 
      ".write": "true" 
      } 
    } 
} 

当前JSON树设置:

+Users 
    +iq5oM0XlgAa9K78EuEFdZ0ZVTsm1 
    Email: "[email protected]" 
    Name: "jj" 
    Password: "***" 
    Username: "jjj" 

CODE:

let username : String = self.usernameField.text! 

     //Checking username existence 
     FIRDatabase.database().reference().child("Users/Username").child(username).observeSingleEvent(of: .value, with: {(usernameSnap) in 

      if usernameSnap.exists(){ 
       //This username already exists 
       print("The user name already exists") 
      }else{ 

       //Yippee!.. This can be my username 
       print("user good to go") 
       print(username) 
      } 

     }) 
+0

我真的坚持 – nil

+0

必须是像用户/ UID /用户名。我一直试图这么久,我只是不知道 – nil

回答

0

您需要在数据库中创建一个名为usernames的单独节点。在这里您将用户名保存为密钥,并将用户ID保存为值。现在您可以检查用户名节点以查看用户名是否已经存在。