2017-10-13 2 views
0

私は、他のプロパティに関連してフラットなデータベース構造をどのように使用するかという一般的な質問があります。フラットな構造のためにキーを使用してアイテムを接続する方法は?角2 +ファイアベース

my structure

あなたが見ることができるように、ここで私のfirebase strucureです。 >ユーザーID - - > CAMPAIGNID - >プロパティ

コード - >ユーザーID - > CAMPAIGNID - > codeID - >プロパティ

いただきました "接続" するための最良の/通常の方法ごとのキャンペーンは、多くのコード

キャンペーンを持っていますそれら?もちろん、私は2つの異なる観測値を取得しますが、ngForを使ってキャンペーンを繰り返した後に、キャンペーンに属するコードを表示する方法は本当にわかりません。

よろしく

+0

使用し、campaingsに入れて、への参照を作成それ。次にコードを内部に持つキャンパーをループします。 – kappaallday

答えて

0

私はあなただけのキャンペーン内のコードを組み合わせた場合、それはより速くなると思います。

-> 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'

を使用し、campaingsとコードが同じ識別子を持っているので、あなただけのコードを取得する必要が*ngFor='let code of campaign.codes'

+0

しかし、私も新しいプロパティを持つ[codeId]をダウンロードしています。したがって、すべてのコードのすべてのダウンロードが追加の情報で追跡されるので、ダウンロード数千回のキャンペーンあたり30のコードがあれば、コードリストを取得するだけで大​​量のデータになります。私の質問は、正面の構造に関係なく、異なるプロパティの同じキーをどうやって接続するのかということです。私は角と火災基地にかなり新しいです – mrvnklm

+0

私は言うことを忘れて、そのコードは、公共の読み取りアクセス権を持っている必要があります – mrvnklm

関連する問題