2016-07-23 4 views
1

Szenario ist,Abrufen von untergeordneten Datensatz aus Feuerbasis unter Verwendung der einzigartigen Auto-generierten Schlüssel

Unsere Daten auf Feuerbasis ist wie Probe unter

enter image description here

Bild basierend auf Datenbank gezeigt wird, wo post1, post2 unter Posts Knoten sind zufällig generierte Schlüssel wie "YyhsyyHyzhh-Ke" usw. und comment1, comment2 auch zufällig generierte Schlüssel.

Mein Problem ist, dass ich alle Beiträge und verwandte Kommentare von Firebase abrufen möchte und wie Sie unter post1 sehen können, gibt es einen Kommentar-Knoten, der Schlüssel der Kommentare zu Post1 enthält, aber ich kann Schlüssel der Kommentare nicht bekommen ich kann

appMainModule.controller('GetCtrl', ['$scope', '$firebase', function ($scope, $firebase) { 






     var firebaseObj = new Firebase("FirebaseURL/Posts"); 

     var sync = $firebase(firebaseObj); 
     $scope.articles=sync.$asArray(); 

    $scope.articles.$loaded(function (data) { 
     var mainVar ; 
     for (var i = 0; i < data.length; i++) { 
      mainVar = data[i]; 
      var commentsWithIds=mainVar.Comments; 
      //how to fetch keys side of data from commentsWithIds as I dont know rendomly generated keys 

     } 
     }); 

ich möchte

siehe unten Code, um diesen Kommentar Text durchsuchen Kommentare Schlüssel bekommen, so dass ich wie dieses neue Firebase machen URL Cloud ("FirebaseURL/Kommentare" + CommentsAutoGeneratedKey).

Antwort

0

Wenn ich Ihre Frage richtig verstanden, können Sie Object.keys() Methode verwenden:

var comments = { 
 
    "comment1":{ 
 
    "text":"this is first comment" 
 
    }, 
 
    "comment2":{ 
 
    "text":"this is 2nd comment" 
 
    }, 
 
    "comment3":{ 
 
    "text":"this is third comment" 
 
    } 
 
}; 
 

 
console.log(Object.keys(comments));

+1

Dank es funktioniert. vorläufig werde ich es benutzen. aber ich bin nicht sicher, ob dies ein besserer Weg ist, da $ firbaseObject. $ id, $ on, $ Funktion bietet auch Möglichkeiten, Schlüssel zu bekommen, aber ich kann sie nicht in meinem angularfire Projekt verwenden, da es mir Fehler gibt, dass die Funktion nicht definiert ist. –

Verwandte Themen