I have a query that searches for a 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 the correct user, but the line print(snapshot.key)
literally returns the word "users", and not an actual user ID. print(snapshot)
returns the following user:
Snap (users) {
DELyncz9ZmTtBIKfbNYXtbhUADD2 = {
email = "test3@gmail.com";
"first_name" = test;
"last_name" = test;
};
How can I get DELyncz9ZmTtBIKfbNYXtbhUADD2
? I can get the email by using let email = child.value["email"]
but I can't get the key because it's not a named attribute.
Thanks!!
EDIT: Updated code thanks to Frank's answer. Getting ambiguous use of key
query.observeEventType(.Value, withBlock: { snapshot in
print(snapshot.key)
if snapshot.exists() {
print("user exists")
for child in snapshot.children {
print(child.key)
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…