繁体   English   中英

Firebase - 查询孩子的孩子

[英]Firebase - Query Child of Child

我有以下 Firebase 实时数据库结构。

在此处输入图像描述

我想搜索 inviteCode = 271429 的游戏。有多个类别,所以我无法知道这个特定的邀请代码是否属于Maths

我试过 using.orderByChild() 但这对孩子的孩子不起作用。 只有当我知道我需要看数学时它才有效。

我试图寻找一种方法,如果我只能获得“游戏”的密钥,然后我可以在这些密钥中循环寻找代码。 我最终发现很浅,但它似乎仅适用于 REST。 我正在尝试在Flutter中实现它。

我不想下载完整的数据然后搜索,因为数据量可能很大。

请告知查询此类数据库结构的最佳解决方案是什么。 并且还建议我是否应该改进数据库结构,如果是的话,请记住需要限制对数据库的调用次数以避免过多的数据调用,因为我相信 Firebase 会根据它向您收费。

先感谢您。

Firebase 实时数据库查询在平面节点列表上工作。 您要排序/过滤的键/值必须位于您搜索位置的每个直接子节点正下方的固定路径上。

这里最简单的解决方案似乎是添加一个额外的数据结构,将inviteCode值映射回它们的类别(可能还有关于它们的其他数据)。 这有时被称为倒排索引,在 NoSQL 数据库中很常见。

所以你会有:

invoteCodesLookup: {
  "271429": {
    category: "Maths",
    ...
  }
}

您可以通过多路径更新和安全规则保持此数据结构和原始数据结构同步。

有关更多信息,请参阅:

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM