Как получить данные из запроса `where` в firebase - PullRequest
0 голосов
/ 17 ноября 2018

Я не уверен, что делать с объектом запроса, который возвращается для this.actions

this.actionCollection = this.db.collection('actions');
this.actions = this.actionCollection.ref.where('filterId', '==', this.filterId)

Что мне делать с this.actions? Я пытаюсь установить его как свое мнение, но я получаю эту ошибку Error: InvalidPipeArgument: '[object Object]' for pipe 'AsyncPipe'

<h4>Actions List</h4>
<ul>
  <li *ngFor="let action of actions | async">
    {{action | json}}
  </li>
</ul>

1 Ответ

0 голосов
/ 18 ноября 2018

Вам нужно вызвать метод get для него. Это вернет значение типа firebase.firestore.QuerySnapshot.

По сути, это Promise, поэтому вы можете связать с ним метод then, чтобы получить разрешенные данные. Вот, попробуйте:

this.actions = this.actionCollection.ref
  .where('filterId', '==', this.filterId)
  .get()
  .then(querySnapshot => {
    querySnapshot.forEach(doc => {
        console.log(doc.id, " => ", doc.data());
    });
  });

Взгляните на Получить несколько документов из коллекции для исх.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...