Reputation: 3323
I was able to fetch my interested object as snapshot
as shown in this CodePen
Following is the code snippet :
$scope.post = {};
var postsRef = new Firebase('https://docs-examples.firebaseio.com/web/saving-data/fireblog/posts');
$scope.searchPost = function () {
console.log('searched for author : ' + $scope.post.authorName);
postsRef.orderByChild('author')
.equalTo($scope.post.authorName)
.once('value', function (snapshot) {
var val = snapshot.val();
console.log("Searched Post is : ");
console.log(val);
console.log("(From Val) Title is : " + val.title);
var exportVal = snapshot.exportVal();
console.log("Export Value is : ");
console.log(exportVal);
console.log("(From Export Val) Title is : " + exportVal.title);
});
}
This is the Firebase dataset am using.
When I search for author: gracehop
, I get the correct snapshot but, I'm not able to access properties like title
inside that. Both val.title
& exportVal.title
are giving undefined
as output.
How do I get the interested properties from snapshot?
Upvotes: 1
Views: 13146
Reputation: 58400
The query returns a snapshot containing the matching children and it is the children that contain the properties in which you are interested.
You can enumerate the children using the snapshot's forEach
method:
postsRef.orderByChild('author')
.equalTo($scope.post.authorName)
.once('value', function (snapshot) {
snapshot.forEach(function (childSnapshot) {
var value = childSnapshot.val();
console.log("Title is : " + value.title);
});
});
Upvotes: 5