【问题标题】:How to connect items with keys for flat structure? Angular 2 + Firebase如何将物品与平面结构的键连接起来? Angular 2 + Firebase
【发布时间】:2018-03-26 02:40:43
【问题描述】:

我有一个一般性问题,如何使用与其他属性相关的平面数据库结构。

如您所见,这是我的 Firebase 结构。每个广告系列都有很多代码

活动 -> 用户 ID -> 活动 ID -> 属性

代码 -> 用户 ID -> 活动 ID -> 代码 ID -> 属性

“连接”它们的最佳/正常方式是什么?当然,我得到了两个不同的 observables,但是在我使用 ngFor 遍历广告系列之后,我真的不知道如何显示属于该广告系列的代码?

问候

【问题讨论】:

  • 由于campaings和codes有相同的标识符,你只需要获取code并把它放在campaings中,做一个引用即可。然后你循环遍历现在里面有代码的campaings。

标签: angular firebase firebase-realtime-database observable


【解决方案1】:

我认为,如果您只是在广告系列中组合代码,它会更快。

-> campaigns
   -> [userId]
     -> [campaignId]
          -> active: false
          -> name: "sadasd"
          -> timestamp: 1507923847578
          -> codes :
              -> [codeId]
                 -> name: "test1"
              -> [codeId]
                 -> name: "test2"
     -> [campaignId]
          -> active: true
          -> name: "Test1"
          -> timestamp: 1507923845531
          -> codes :
              -> [codeId]
                 -> name: "test3"
              -> [codeId]
                 -> name: "test4"

然后使用*ngFor='let campaign of campaigns | async'

在里面,使用*ngFor='let code of campaign.codes'

【讨论】:

  • 但我也下载了带有新属性的 [codeId]。因此,每个代码的每次下载都会使用附加信息进行跟踪,因此,如果我们每个活动有 30 个代码,并且有数千次下载,那么仅获取代码列表就需要大量数据。尽管我的问题更多的是如何连接不同属性的相同键,而不管前面的结构如何。我对 Angular 和 Firebase 很陌生
  • 除了我忘了说,代码必须有公共读取权限
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-11-29
  • 2021-06-04
  • 2017-10-13
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多