2017-10-13 1 views
0

J'ai une question générale sur la façon d'utiliser une structure de base de données plane par rapport à d'autres propriétés.Comment connecter des éléments avec des clés pour une structure plane? Angulaire 2 + Firebase

my structure

comme vous pouvez le voir, voici mon firebase strucure. chaque campagne a de nombreux codes

campagnes -> userId -> campaignid -> Propriétés

codes -> userID -> campaignid -> codeID -> Propriétés

Quelle est la meilleure/façon normale de "connecter" leur? Bien sûr, je reçois deux observables différents, mais je ne peux pas vraiment comprendre comment montrer les codes qui appartiennent à la campagne après avoir parcouru les campagnes avec ngFor?

Cordialement

+0

Depuis CAMPAGNES et les codes ont les mêmes identifiants, il vous suffit d'obtenir le code et le mettre dans CAMPAGNES, faire référence à il. Ensuite, vous bouclez sur les campagnes qui ont maintenant les codes à l'intérieur. – kappaallday

Répondre

0

Je pense que ce sera plus rapide si vous venez de combiner les codes dans une campagne.

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

Et puis utilisez *ngFor='let campaign of campaigns | async'

intérieur qui, utilisez *ngFor='let code of campaign.codes'

+0

Mais j'ai aussi des téléchargements [codeId] avec de nouvelles propriétés. Ainsi, chaque téléchargement de chaque code est suivi avec des informations supplémentaires, donc si nous avons 30 codes par campagne avec des milliers de téléchargements, il y aura beaucoup de données juste pour obtenir la liste des codes. Même si ma question est plus comment je voudrais connecter les mêmes clés de propriétés différentes, peu importe la structure en face. Je suis assez nouveau à angulaire et firebase – mrvnklm

+0

d'ailleurs que j'ai oublié de dire, que les codes doivent avoir un accès en lecture publique – mrvnklm