В базе данных собраны пользователи, вопросы и ответы. см. ниже
Users
------
firstName
lastName
Questions
-------
date
question
Answers
-------
date
answer
questionId
userId
Пример использования: получить ответы пользователей и вопрос на эти ответы. Показать вопрос и ответ
мой код:
//User Questions with Answers
this.db.collection('Answers', ref => ref.where('userId', '==', userId) ).snapshotChanges()
.subscribe(data => {
return data.map(a => {
const data = a.payload.doc.data();
console.info(data);
console.info(data.questionId);
//qa.answers.push(data);
//Get each question from the answer now
// bummer that this is a seperate request, very chatty
var question = this.db.collection('Questions')
.doc(data.questionId).valueChanges()
.subscribe(ref => {
console.info(ref);
return ref;
});
return {data, question};
});
});
2 вопроса:
Спасибо, я новичок в noSQL и Firebase.



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


2 - как отобразить? "показать это" где? Во фронтенде ~?
Если вы используете AngularFire, вы можете попробовать:
в .ts
answersCol : AngularFirestoreCollection<Answers>;
answersObersArray: Observable<Answers[]>;
answersArray: Array<Answers>;
this.answersCol = this.db.collection('survey/' + userId);
this.answersObersArray = this.answersCol .valueChanges();
this.answersObersArray .subscribe(answers => {
this.answersArray = answers ;//--Working with arrays
});
в .html
<table class = "table table-bordered">
<tbody *ngFor = "let answer of answersArray ">
<tr style = "font-weight:bold">
<td>{{ answer }}</td>
</tr>
</tbody>
</table>
(проверено)
Если вы используете Observable, вы можете попробовать:
в .ts
var answersCol = this.db.collection('answers/' + userId');//Check ur struct
answersObservArray: Observable<Answers[]>; //If you have a Answers class
this.answersObservArray= this.answersCol.valueChanges();
в .html
<h4 class = "title"> {{ (answersObservArray| async)}}</h4>
(полное тестирование не проводилось)
"Кажется болтливым". немного расплывчато. Если вас беспокоит производительность, я рекомендую ее измерить. В целом, я считаю, что эти типы запросов намного более производительны, чем ожидают разработчики.