如何从Firebase中的snapshot.val()或snapshot.exportVal()获取属性/值? [英] How to get properties / values from snapshot.val() or snapshot.exportVal() in Firebase?

查看:85
本文介绍了如何从Firebase中的snapshot.val()或snapshot.exportVal()获取属性/值?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我能够以 snapshot 的形式获取我感兴趣的对象,如此 CodePen

I was able to fetch my interested object as snapshot as shown in this CodePen

以下是代码段:

$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);
                });
        }

这是 Firebase数据集正在使用。

当我搜索作者时: gracehop ,我得到了正确的快照但是,我无法访问其中的 title 等属性。 val.title & exportVal.title undefined 作为输出。

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?

推荐答案

查询返回包含匹配子项的快照,并且它是子项包含您感兴趣的属性。

The query returns a snapshot containing the matching children and it is the children that contain the properties in which you are interested.

您可以使用快照的 forEach 方法枚举子项:

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);
        });
    });

这篇关于如何从Firebase中的snapshot.val()或snapshot.exportVal()获取属性/值?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆