swift - Firebase snapshot.key not returning actual key? -


i have query searches user based on user id.

usersref.queryorderedbychild("email").queryequaltovalue(email).observeeventtype(.value, withblock: { snapshot in     if snapshot.exists() {         print("user exists")         print(snapshot.key) 

the query returns correct user, line print(snapshot.key) literally returns word "users", , not actual user id. print(snapshot) returns following user:

snap (users) {    delyncz9zmttbikfbnyxtbhuadd2 =     {        email = "test3@gmail.com";        "first_name" = test;        "last_name" = test;    }; 

how can delyncz9zmttbikfbnyxtbhuadd2? can email using let email = child.value["email"] can't key because it's not named attribute.

thanks!!

edit: updated code frank's answer. getting ambiguous use of key

query.observeeventtype(.value, withblock: { snapshot in             print(snapshot.key)              if snapshot.exists() {                 print("user exists")                  child in snapshot.children {                     print(child.key) 

when run query @ location, result list of matching children. if there single matching item, result list of 1 child.

you're printing key of resulting children. since there no single result, sdk prints key of location/collection queried: users.

what you're looking loop on matching children , print keys:

let query = usersref.queryorderedbychild("email").queryequaltovalue(email) query.observeeventtype(.value, withblock: { snapshot in     child in snapshot.children {         print(child.key)     } }) 

Popular posts from this blog

php - How should I create my API for mobile applications (Needs Authentication) -

5 Reasons to Blog Anonymously (and 5 Reasons Not To)

Google AdWords and AdSense - A Dynamic Small Business Marketing Duo