firebase - 如何在 Firebase 数据库中查询嵌套属性?
问题描述
嗨,我在 firebase 中有一个 noSql 数据库。我想获取 userId 为 288 的对象,我尝试了很多组合,但我无法弄清楚它是如何完成的。到目前为止,这是我的代码:
var refTest= database.ref('conversation')
var query = refTest
.orderByChild('messages');
query.on('value', function(data) {
var a = data.val();
console.log(a.messages.userId);
console.log(data.val());
});
这是我的“模式”的图像
当谈到 NoSQL 时,我显然是个菜鸟。我确实了解 SQL 感谢所有帮助
解决方案
您可以像这样对嵌套值进行排序/过滤:
var refTest= database.ref('conversation')
var query = refTest.orderByChild('messages/userId').equalTo("288");
query.on('value', function(snapshot) {
snapshot.forEach(function(child) {
console.log(child.key);
console.log(child.val());
});
});
是必需的forEach
,因为可能有多个messages/userId
等于 的子节点288
。
推荐阅读
- c# - 如何从 UTC 偏移量获取 DateTime
- regex - 重型 3GB csv 数据库的 sed/awk 处理问题
- .htaccess - .htaccess 将带有查询参数的特定不存在文件重定向到新的 url
- swift - 如何
在 SwiftSoup 中使用换行符更改标签? - c# - Asp.Net Core - Web 服务的可配置属性路由
- php - 致命错误:未捕获的错误:调用未定义的函数 mysqli 你能帮帮我吗
- sql - Oracle SQL - 使用选择生成聚合行
- angular - 尽管存在期望,但规范没有期望控制台错误
- python - Cython:将点索引分配给粗网格的最快方法
- ios - 如何在一个 tableView 上提供超过 2 个自定义单元格以进行聊天