2017-02-26 22 views
0

ユーザー名が適切な方法で存在するかどうかをテストするにはどうすればよいですか?このコードは機能しません。ルールを何らかの方法で更新する必要がありますか?火事のルールにあまり慣れていないIm。読み取りと書き込みのルール適切な方法で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を値として保存します。これで、ユーザー名ノードがすでに存在するかどうかを調べることができます。

関連する問題