2016-08-14 3 views
0

Ich versuche Feuerbasis abfragen und wenn der Datensatz Ich möchte eindeutigen Schlüssel vorhanden ist, aber kann nicht scheinen, um es zu bekommen. Mein Filter funktioniert gut, aber ich weiß nicht, was die Namen der Objekteigenschaften sind und scheint nichts auf Firebase zu finden, das hilft. Die .key() gibt immer einen Fehler zurück. Hier ist, was meine Aufgabe aussieht, wenn ich zurückkehre esAbfrage Firebase und bekommen Key

GET /js/init.js 200 5.048 ms - 207 
 
GET /img/logo.png 200 2.376 ms - 2793 
 
{ '-KP8qXgQRaeClqzKX1Lo': { email: '[email protected]' } } 
 
GET /sent 200 7.923 ms - 8110

Hier ist mein Code

firebase.database().ref('/customers').orderByChild("email").equalTo(email).on("value", function(snapshot) { 
 
     console.log(snapshot.val()); 
 
    },function (errorObject) { 
 
     console.log("The read failed: " + errorObject.code); 
 
    });

Ich brauche diesen Schlüssel, denn wenn ich es existiert Ich brauche das für den nächsten Schritt.

Antwort

0

firebase.database().ref('customers').orderByChild("email").equalTo(email).on('child_added', function(snapshot) { 
 
     console.log("Customer Key:"+snapshot.key); 
 
    });

3

können Sie child_added verwenden, um eine Übersicht über neu hinzugefügten Datensätze zu halten und Schlüssel abzurufen.

firebase.database().ref('customers').on('child_added', function(snapshot) { 
    console.log(snapshot.key); //This will print that unique key 
}); 
+0

Ich Abrufen bereits den Schlüssel, nachdem es erstellt wird. Ich muss überprüfen, ob der Datensatz existiert, und wenn dies der Fall ist, dann ziehe den Schlüssel zurück. Wenn es nicht existiert, erstelle ich den neuen Datensatz. Mit der E-Mail filtere ich mein Kundenobjekt. – user3183411

+0

Danke Mann! Du bist in die richtige Richtung gegangen. Ich konnte es bekommen. – user3183411

+0

@ user3183411 Wenn diese Antwort Ihnen geholfen hat, upvote es. Wenn es Ihr Problem gelöst hat (was es getan zu haben scheint - die Tatsache, dass Sie immer noch Ihre eigene Abfrage benötigten, scheint nicht mit dem Problem zu tun zu haben: Sie müssen 'snapshot.key' aufrufen), klicken Sie auf das Häkchen auf der linken Seite, um es zu akzeptieren. –