2017-12-25 5 views
1

Zum Beispiel - Wie bekomme ich den Knoten -L1BchvA8NaQ9Yh7CjS_ welcher entspricht email = [email protected]? wenn die Datenbank sieht aus wieWie erhalten Sie den Knoten, der ein bestimmtes Attribut in Firebase enthält?

{ 
    "-L1BchvA8NaQ9Yh7CjS_" : { 
    "createdAt" : 1514187972592, 
    "displayName" : "tom cruise", 
    "email" : "[email protected]", 
    "firstName" : "tom", 
    "lastName" : "cruise", 
    "profileLink" : "https://reactjs.org/logo-og.png", 
    "status" : "happy christmas" 
    }, 
    "-L1CcUEBOECrJJozlHJv" : { 
    "createdAt" : 1514204689673, 
    "displayName" : "Robert John Downey Jr", 
    "email" : "[email protected]", 
    "firstName" : "Rober John", 
    "lastName" : "Downey Jr", 
    "profileLink" : "https://reactjs.org/logo-og.png", 
    "status" : "happy christmas" 
    }, 
} 

Edit: -

ich react-native.js verwende.

+0

Dank für die Bearbeitung @rushi –

Antwort

2

Sie haben nicht erwähnt, welche Sprache Sie verwenden, aber ich antworte in Javascript und es sollte nicht schwierig sein, in eine andere Sprache zu wechseln.

var database = firebase.database(); 
var rootRef = database.ref(); 

rootRef.orderByChild('email') 
     .equalTo('[email protected]') 
     .on('child_added') 
     .then(function(snapshot){ 
      var result = snapshot.val(); 
      //Do what you want with the result 
     }); 
+0

Wenn Sie eine Abfrage für die Datenbank Firebase ausführen, wird es möglicherweise mehrere Ergebnisse sein. Der Snapshot enthält also eine Liste dieser Ergebnisse. Selbst wenn nur ein Ergebnis vorhanden ist, enthält der Snapshot eine Liste mit einem Ergebnis. Sie müssen entweder 'child_added' verwenden oder eine Schleife in Ihrem' then() 'Callback haben. –

+0

Danke @Frank Ich habe meine Antwort bearbeitet –

+0

Danke für die Antwort. Ich sehe oft 'child_added',' value' und etc .. was sind das? –

1

Ich fand Lösung von Common SQL Queries converted for the Firebase Database.

var currentUserUID = firebase.auth().currentUser.uid; 
let dbRef = firebase.database().ref("ARUserProfiles/" + currentUserUID); 
dbRef 
    .orderByChild("email") 
    .equalTo("[email protected]") 
    .once(
    "value", 
    response => { 
     const val = response.val(); 
     let responsePayload; 
     if (val) { 
     responsePayload = Object.entries(val); 
     console.log("ARUserProfiles :-", responsePayload); 
     } 
    }, 
    error => { 
     console.log(error); 
    } 
); 
Verwandte Themen