compare textfield.text to firebase string swift

后端 未结 1 1227
情歌与酒
情歌与酒 2020-12-11 13:29

I have a database in Firebase that will have individual user nodes. In each user\'s node will be data pertaining to them and will be private. In addition to that I want to c

相关标签:
1条回答
  • 2020-12-11 14:06

    Please don't use email addresses as keys. Email addresses are dynamic and may change (as in if the users wants to change it) and if they do, you'll have a mess on your hands as every node that directly used that email would have be deleted and re-created.

    Best practice is to disassociate key's from the data they contain.

    Here's the structure to use

    emails
      -Yiaisjpa90is
        email: "dude@test.com"
      -Yijs9a9js09a
        email: "thing@test.com"
    

    then you simply query the email node for the email you are looking for, and handle accordingly if it exists.

    And some code

    emailsRef.queryOrdered(byChild: "email").queryEqual(toValue: "dude@test.com")
             .observe(.value, with: { snapshot in
         if snapshot.value is NSNull {
            print("the snapshot was null, no email found")
         } else {
            print("email was found, YIPEE")
         }  
    })
    

    For completeness it would be a little more Swifty to use

    if snapshot.exists() {
      print("found it")
    } else {
      print("no email found")
    }
    
    0 讨论(0)
提交回复
热议问题