2016-08-02 6 views
0

Ich bin neu zu Firebase und möchte einen Wert einer Kind-Eigenschaft übergeben, meine gesamte Datenbank abfragen und erhalten den Pfad, der Daten ist. Daten sind verschachtelt mehrere Ebenen, zum Beispiel möchte ich nach dcid abfragen und habe den Pfad, den es zurückgegeben wird. Ich habe ein paar Dinge und keine Würfel versucht. Wie kann ich das mit Firebase machen? Hier enter image description hereFirebase-Abfrage basierend auf Kind Prop Wert und Pfad

ist, was ich habe versucht,

$scope.ref = new Firebase(url); 
$scope.ref.orderByChild("num").equalTo(dcid).on("value", function(snapshot) { 
    console.log(snapshot.key(), snapshot.val()); 

}); 

Antwort

0

diese Weise können Sie den Pfad bekommen Sie verweisen:

snapshot.ref().toString(); 

Es kann nützlich sein, um zu überprüfen, wenn Sie Blick auf den richtigen Ast des Baumes. Hoffe das hilft.

+0

, dass der Basispfad bekommen funktioniert, aber ich brauche den vollständigen Pfad, einschließlich der dynamischen Tasten Feuerbasis Kisten – iceberg

0

Die Daten, die Sie hinzugefügt ist, um die Struktur Firebase nicht konform ...

Es sind keine Arrays, nur Objekte.

Wenn Sie orderByChild verwenden, sucht Firebase nach dem Schlüssel in einer untergeordneten Position der Referenz, für die Sie die Methode aufgerufen haben.

Für ex

new Firebase('<your-project-url>').child('items').orderByChild('prop1').equalTo('value13') 
    .on('value', function (snapshot) { 
     console.log(snapshot.ref().toString(), snapshot.val()); 
    }) 

{ 
    "items": { 
     "item1: { 
      "prop1": "value11", 
      "prop2": "value21" 
     }, 
     "item2: { 
      "prop1": "value12", 
      "prop2": "value22" 
     }, 
     "item3: { 
      "prop1": "value13", // <----- The query will find this field 
      "prop2": "value23" 
     } 
    } 
} 
Verwandte Themen