javascript - Firebase - AngularJS - 通过子值/键/名称获取父级
问题描述
我需要获取特定用户(5ef124 ...)下的所有项目,但我没有uid(5ef124 ...)。但是,我确实将所有内容都标记为绿色,并且我看到 uid 保存在每个键下。另一个问题是并非所有记录都像下面的那样完整。有些是空的,因为只有父级键存在。
我试图复制这些答案,但我没有得到任何回报(我没有收到错误,只是没有数据)。
这是我的损坏代码的样子,基于链接#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]。我希望这能澄清一点。
解决方案
推荐阅读
- sql - 将 varchar/timestamp col 转换为 Date 字段
- visual-studio-code - 在 VS Code 中更改 json 文件关键字或注释的颜色
- jquery - 数据表,即使有记录也会显示“infoEmpty”消息
- python - 在没有关于排序函数的先验知识的情况下,在 Python 中合并有序列表
- php - 如何在 PHP 中格式化来自 gmail api 的正文文本?
- java - 无论如何要格式化这个吗?代码已经运行良好,但如果值太大,格式化将运行
- input - 如何创建一个在提交前后看起来相同的文本输入字段?期待一些小的迹象表明它可以在点击时食用
- excel - ClosedXML:有没有办法找到表格行的工作表位置
- elasticsearch - Airflow 使用 Basic Auth 登录 Elasticsearch
- c# - 为什么 NUnit 告诉我“提供的参数不足,请提供至少 2 个参数”。当我提供 2 个论点时?