首页 > 解决方案 > Firebase - AngularJS - 通过子值/键/名称获取父级

问题描述

这是当前数据库的结构,不幸的是,重新排序不是一种选择。数据库结构

我需要获取特定用户(5ef124 ...)下的所有项目,但我没有uid(5ef124 ...)。但是,我确实将所有内容都标记为绿色,并且我看到 uid 保存在每个键下。另一个问题是并非所有记录都像下面的那样完整。有些是空的,因为只有父级键存在。

我试图复制这些答案,但我没有得到任何回报(我没有收到错误,只是没有数据)。

Firebase按子值搜索?#265

Firebase:获取快照的父级。

这是我的损坏代码的样子,基于链接#1:

$rootScope.secondFirebase.refs.vms = $rootScope.secondFirebase.db
    .ref('/users')
    .orderByChild('targetId')
    .equalTo('somehardcodedtargetid')
    .on('value', function(snapshot) {
        //snapshot would have list of NODES that satisfies the condition
        console.log(snapshot.val());
        console.log('-----------');

        //go through each item found and print out the emails
        snapshot.forEach(function(childSnapshot) {
            var key = childSnapshot.key;
            var childData = childSnapshot.val();

            //this will be the actual data value found
            console.log(childData);
        });
    });

提前感谢您抽出宝贵时间提供帮助。

编辑:请注意在截图中,只有 1 个级别是未知的。db/users/5ef124... 是扩展键。它不是 db/users/5ef124.../5ef124,而是 db/users/5ef124.../known key.. 或者换句话说:db/users/[unknown]/[known]。我希望这能澄清一点。

标签: javascriptangularjsfirebasefirebase-realtime-database

解决方案


推荐阅读