【问题标题】:Is there a way in AngularFire firebase to get multipath data in one queryAngularFire firebase 中有没有一种方法可以在一个查询中获取多路径数据
【发布时间】:2020-11-10 00:11:04
【问题描述】:

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

这里是数据库结构

【问题讨论】:

    标签: angular firebase firebase-realtime-database angularfire


    【解决方案1】:

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

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

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

    【讨论】:

    • stackoverflow.com/questions/43484811/… 你没明白我的意思。我想要在 AngularFire 中这样的东西.. 调用多个没有父子关系的路径。他们也可以在不同的父母中。但是要结合两条路径并在一个查询中获取他们的快照
    • 你不能在一个查询中做到这一点。我对您链接的问题的回答引发了两个查询。您可以在 AngularFire 中执行相同的操作并加入两个流/可观察对象。有关示例,请参阅stackoverflow.com/questions/46529904/…
    • 感谢弗兰克。任何我可以从中学习查询和连接火力基地的好资源
    • 我搜索了“angular fire merge observables”来找到上述内容,所以我想这是一个很好的起点。
    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-11-24
      • 2011-05-31
      • 2023-04-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-01-08
      • 1970-01-01
      相关资源
      最近更新 更多