Получить данные из другой коллекции, используя ссылку на документ из Cloud Firestore + AngularFire2 - PullRequest
0 голосов
/ 20 февраля 2020

Текущий сценарий

Облачное хранилище: В облачном хранилище у меня есть две коллекции испытаний и пользователей .

  • Коллекция пользователей содержит несколько документов, каждый документ состоит из данных каждого пользователя.

  • Коллекция заявок содержит несколько документов, каждый документ
    состоит некоторых деталей и ссылки на документ для конкретного
    пользователя / документа.

Коллекция вызовов Challenges Collection Пользователи Коллекция Users Collection

Я использую angularFire2 для подключения к моему облаку firestore .

export class AllChallengesComponent implements OnInit {

private listOfChallenges:Array<Object>;

constructor(private angularFireStore:AngularFirestore) { 

var challenges = angularFireStore.collection('challenges')

var allChallenges = challenges.snapshotChanges()

allChallenges.pipe(
  map(actions => {
    return actions.map(a => { return a.payload.doc.data() })
  })
).subscribe(challenges => {
  this.listOfChallenges = challenges
})
}
} 

<mat-card *ngFor="let element of listOfChallenges">
<mat-card-header>
    <h1>{{element.learning}}</h1>
</mat-card-header>
<mat-card-content>
    <div>
        <strong>{{element.solution}}</strong>
        <strong>{{element.obstacle}}</strong>        
     </div>
</mat-card-content>
</mat-card>

Это мой js код, который извлекает данные из коллекции заданий. и мой шаблон.

Постановка задачи

Прямо сейчас я хочу получить все испытания с соответствующим пользователем и сохранить их в одном объекте. Но проблема в том, что, поскольку они наблюдаемы, я не могу хранить оба значения коллекции пользователь + вызовы в одном объекте. Я буду очень благодарен за любые предложения или решения. к моей проблеме.

...