Angular2 从 firebase 和卡片模式中获取单个数据

Angular2 get single data from firebase and card schema

大家好,我是 firebase 和电子商务的新手,我只是想虚拟应用程序来列出电子商务 products.However,我无法让 card.Then 制作一个新的table 在 firebase 作为 Card 并放置 userId,这样我就可以根据 userId 在购买页面获取数据,但无法获取单个数据。(能够使用 this.card = this.afdatabase.list('/card/') ) 获取所有列表。

这是我的架构,请建议我以获得更好的架构。

我想我找到了类似 list('/card/').foreach(d=>) 的解决方案 但是检查所有数据会非常耗时。 根据userId取商品的解决方法是什么?

编辑我的 addCard 并获取数据

card: FirebaseListObservable<any[]>;
addCard(item, amount) {
this.card.push(
  {
    productDetails: item,
    amount: amount,
    userId: this.userId
  }
);


this.card = this.afdatabase.list('/card/');

这个returns当我console.log

 this.card= this.afdatabase.list('/card', {
  query: {
    orderByChild: 'userId',
    equalTo: this.userId
  }
});

如果你想通过userid获取数据,你可以这样做

this.card = this.afdatabase.list('/card', { query : {
        orderByChild: 'userid',
        equalTo: this.userid
      });