最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

javascript - How to get propertiesvalues from snapshot.val() or snapshot.exportVal() in Firebase? - Stack Overflow

programmeradmin3浏览0评论

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('');

        $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?

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./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?

Share Improve this question edited Oct 3, 2016 at 1:54 AL. 37.8k10 gold badges146 silver badges285 bronze badges asked Oct 2, 2016 at 18:11 BeingSumanBeingSuman 3,3237 gold badges33 silver badges52 bronze badges
Add a ment  | 

1 Answer 1

Reset to default 5

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);
        });
    });
发布评论

评论列表(0)

  1. 暂无评论