使用Typescript和Firebase

时间:2018-01-26 16:39:31

标签: angular typescript firebase ionic3 observable

我试图从列表中筛选出已归档的项目(observables)

this.archived = afDB.list('/users/'+uid+'/archived/',ref => ref.orderByKey().limitToLast(100)).valueChanges();
this.items    = afDB.list('alerts',ref => ref.orderByKey().limitToLast(20)).valueChanges();

// let newItems$ = Observable.from(this.items);
// let archives$  = Observable.of(this.archived);

this.new_items = Observable.combineLatest([ this.items,
  this.archived ]).filter(([items, archived]) => {
  console.log('Arch: '+JSON.stringify(items.id) );

  var item_array =[];
  for(var a in items)
  {
    item_array.push(items[a]);
    for (var b in archived)
    {

      if(items[a].id === archived[b].id)
      {
      // item_array[archived[b].id].remove();


      }
    }//end of b
  }//end of a

  return item_array;

  });

非常感谢您的意见。

[更新]我正在输入两个observable - 尝试过滤并映射它们然后我希望收到一个observable作为输出 - less和archived(2nd obserservable)项。我将他们作为this.items传递给前端,带有|异步管道。

预期:已归档的项目将从this.items中过滤掉 实际:没有任何事情发生,只返回完整的Feed。

[已编辑]继承我的数据集

已归档商品:  -L3fvdIPe1K7wtFO-MFR {id:" 430118153785650_1182592608538197"}

项目看起来像:

430118153785650_1183263311804460 {all_clear:true,category:"",created_time:" 2018-01-23T18:41:26 + 0000",id:" 430118153785650_1182592608538197&#34 ;,消息:" ...",标题:""}

(我们正在比较每个中的id元素进行过滤)

谢谢! 基兰

0 个答案:

没有答案