AngularFire firebase 中有没有一种方法可以在一个查询中获取多路径数据

Is there a way in AngularFire firebase to get multipath data in one query

我想从diretory/0GZfwgQqXRcJ3o2G23vClsEbPay1/filesdirectory/BgHYpuDpE3c7tRYuG2d8k0xHr2E2/files这两个路径获取数据快照或valueChanges()。 然而,这些路径将是动态的并且可以不止一个。我不想申请循环并订阅每条路径。我想要包含所有这些快照的单个集合数组。 如何使用 AngularFire 库执行此操作?

这里是数据库结构

Firebase 实时数据库始终检索完整节点。虽然 可以通过查询过滤哪些子节点 return,但无法 return 每个子节点的属性子集。

当您需要这个时,通常意味着您应该重组数据以允许 use-case。例如,在您的 JSON 中,您可以有一个 top-level files 子级,然后是它下面的目录 ID,而 只是 文件直接地。这样你就可以通过阅读 /files.

来阅读所有文件

Firebase 文档在 avoid nesting data and flattening your data structures 下对此进行了介绍。

你不能。 Firebase 不支持多路径查询。您可以使用 rsjx 的帮助来加入两个可观察对象并等待它们的结果 return 然后加入它们。有关详细信息,请参阅本文 Is There Such A Thing As "Multi-Path Push" in Firebase Real-Time Datasbase?