添加.orderByChild.StartAt过滤器时,“ ref.child不是函数”

扬邦戈

我在控制器中有以下代码,可转到firebase数据库节点,遍历该节点上的记录,并将每种状态类型的计数返回到数组中(以作为chartjs图表的数据)。该代码还等待更改(编辑和删除)并相应地更新阵列。这一切都完全按照我的要求

var ref = new Firebase("https://my-firebase-url/")
ref.on('child_added', function (snapshot) {
    var status = snapshot.val().status.Status;
    updateStatusCount(status, addStatus);

    ref.child(snapshot.key()).on('child_changed', function (chsnap) {
        if (chsnap.key() == 'status') {
            var chstatus = chsnap.val().Status;
            updateStatusCount(status, removeStatus);
            updateStatusCount(chstatus, addStatus);
            status = chstatus;
        }
    });
    ref.child(snapshot.key()).on('child_removed', function (rmsnap) {
        if (rmsnap.key() == 'status') {
            updateStatusCount(status, removeStatus);
        }
    });

});

function addStatus(index) {
    $scope.data[0][index] = $scope.data[0][index] + 1;
}

function removeStatus(index) {
    $scope.data[0][index] = $scope.data[0][index] - 1;
}

function updateStatusCount(status, cb) {
    switch (status) {
        case 'Status 1':
            cb(0);
            // $scope.data[0][0] = $scope.data[0][0] + 1 
            break;
        case 'Status 2':
            cb(1);
            // $scope.data[0][1] = $scope.data[0][1] + 1 
            break;
        case 'Status 3':
            cb(2);
            // $scope.data[0][2] = $scope.data[0][2] + 1 
            break;
        case 'Status 4':
            cb(3);
            // $scope.data[0][3] = $scope.data[0][3] + 1 
            break;
        case 'Status 5':
            cb(4);
            // $scope.data[0][4] = $scope.data[0][4] + 1 
            break;
        default:
            break;
    }
}

});

如果我将Firebase引用修改为包括.orderByChild和.startAt,以过滤返回的数据

       var ref = new Firebase("https://my-firebase-url/")
           .orderByChild("location").startAt(London)  

我在控制台中收到以下警告

FIREBASE警告:用户回调引发了异常。TypeError:ref.child不是函数

并且更改(编辑和删除)不再更新,我必须手动刷新页面才能显示正确的数字。我真的很难弄清楚为什么添加过滤器时会发生这种情况。

弗兰克·范普菲伦

Firebase Query类没有child()方法,因为...什么是查询子级?

解决语法错误的一种方法是将ref和查询分为两个变量:

var ref = new Firebase("https://my-firebase-url/");
var query = ref.orderByChild("location").startAt(London);
query.on('child_added', function (snapshot) {
   ...

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

过滤器不是函数

来自分类Dev

当在代码中添加过滤器CSS时,为什么此衰落函数不起作用?

来自分类Dev

添加grep过滤器时Logstash无法启动

来自分类Dev

Laravel 过滤器在尝试添加时不起作用

来自分类Dev

如何在Visual Studio 2013中添加文件夹,而不是“过滤器”?

来自分类Dev

firebase 数据库查询中的多个 orderByChild 过滤器

来自分类Dev

Twig添加过滤器

来自分类Dev

WordPress过滤器未添加

来自分类Dev

添加热过滤器

来自分类Dev

向Javascript过滤器添加条件

来自分类Dev

向Gmail添加邮箱过滤器

来自分类Dev

树枝添加多个过滤器?

来自分类Dev

Twig添加过滤器

来自分类Dev

在angularjs中添加过滤器

来自分类Dev

SAS添加过滤器

来自分类Dev

在Magento中添加过滤器

来自分类Dev

添加过滤器以重复

来自分类Dev

向 CIImage 添加过滤器

来自分类Dev

添加大于 n 过滤器的对

来自分类Dev

如何使用过滤器函数对geom_bar进行动画处理以“添加数据”?

来自分类Dev

如何在此表单函数中添加错误词过滤器(如果存在错误词,则不会提交)

来自分类Dev

尝试向Grizzly + Jersey应用添加过滤器时出现问题

来自分类Dev

在春季启动时使用urlMapping添加一个过滤器

来自分类Dev

引导表过滤器-没有结果时如何添加“找不到匹配的记录”行?

来自分类Dev

使用@EnableAuthorizationServer时如何在HTTP BasicAuthenticationFilter之后添加过滤器

来自分类Dev

使用添加过滤器时,Django模板中的For循环导致错误

来自分类Dev

添加滚动器小部件时,过滤器停止工作

来自分类Dev

在功能之外添加自定义过滤器时,未定义Angular应用

来自分类Dev

Django添加Q过滤器以在相关对象存在时进行查询,条件查询

Related 相关文章

热门标签

归档