【问题标题】:Get data from different lists and combine them by key with angularfire 5从不同的列表中获取数据并通过 angularfire 5 按键组合它们
【发布时间】:2018-01-10 20:33:34
【问题描述】:

自从 Angularfire5 我们不能再使用 $key 所以我试图转换它,并找到了一个关于如何将列表更改为包含他们自己密钥的列表的 sn-p:

  getRankings(week): Observable<any>
  {
    return this.db.list('/ranking_day/d_' + week, ref => ref.orderByChild('position')).snapshotChanges()
    .map(rankings => {
     return rankings.map(action => ({ key: action.key, ...action.payload.val() }))
  })

现在我想从一个对象中获取一些数据

this.db.list('/userProfile' + key)

并将其组合起来以将可观察对象返回给我的组件。

我为此苦苦挣扎,所以我想我错过了一些非常明显的东西......

PS 我知道我的数据模型可能会更好,但那是以后的事情了..

【问题讨论】:

    标签: angular ionic2 angularfire angularfire5


    【解决方案1】:

    看看能不能帮到你。

    getDrinks(pagename: string) {
    
      return this.database.list<DrinkType>(`/${pagename}/drinks`).snapshotChanges().pipe(map(changes => {
          return changes.map(c => ({
             key: c.payload.key,
             drinkType: this.database.list<DrinkType>(`${pagename}/drinkType/${c.payload.key}`) .snapshotChanges().pipe(map(actions => {
                   return actions.map(action => ({
                   key: action.payload.key,
                   ...action.payload.val()
                   }))
                 })
               ),
              ...c.payload.val()
           }))
    
         })
      )
    
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-07-19
      • 1970-01-01
      • 2023-04-05
      • 2017-06-03
      • 2016-09-27
      • 1970-01-01
      • 2021-06-18
      相关资源
      最近更新 更多