问题
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?
回答1:
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);
});
});
来源:https://stackoverflow.com/questions/39820091/how-to-get-properties-values-from-snapshot-val-or-snapshot-exportval-in-fi