Ich habe eine Abfrage, die nach einem Benutzer basierend auf Benutzer-ID sucht.Firebase snapshot.key gibt den tatsächlichen Schlüssel nicht zurück?
usersRef.queryOrderedByChild("email").queryEqualToValue(email).observeEventType(.Value, withBlock: { snapshot in
if snapshot.exists() {
print("user exists")
print(snapshot.key)
Die Abfrage gibt den richtigen Benutzer, aber die Linie print(snapshot.key)
wahrsten Sinne des Wortes gibt die Wort „Benutzer“, und nicht um eine tatsächliche Benutzer-ID. print(snapshot)
gibt die folgenden Benutzer:
Snap (users) {
DELyncz9ZmTtBIKfbNYXtbhUADD2 = {
email = "[email protected]";
"first_name" = test;
"last_name" = test;
};
Wie kann ich DELyncz9ZmTtBIKfbNYXtbhUADD2
bekommen? Ich kann die E-Mail mit let email = child.value["email"]
bekommen, aber ich kann den Schlüssel nicht bekommen, weil es kein benanntes Attribut ist.
Danke !!
BEARBEITEN: Aktualisierter Code dank Franks Antwort. 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)
figured it out! Musste nur 'let key = child.key as String' machen. Danke noch einmal!! – winston