* ngIf Firestore с запросом коллекций / angularfire2 - PullRequest
0 голосов
/ 23 мая 2018

Я работаю с Firestore, и мне нужно отфильтровать данные по publicado и отсортировать их по fechaCreacion.Тогда я попробовал это: this.afs.collection ('avisos', ref => ref.where ('publicado', '==', true) .orderBy ('fechaCreacion', 'desc')).valueChanges()

Но это не разрешено Firestore, согласно документации.Тогда я остался один с заказом: this.afs.collection ('avisos', ref => ref.orderBy('fechaCreacion', 'desc')). valueChanges(), и я пытаюсь использовать *ngIf, чтобы показать только те, где publicado = true

<div *ngFor="let aviso of avisos | async as aviso" class="col-xl-2 col-lg-3 col-md-4 col-sm-6 col-6 my-1 px-1">
  <div *ngIf="aviso.publicado">
    <h6>{{ aviso.titulo }}</h6>
    <p>{{ aviso.descripcion }}</p>
  </div>
</div>

Частично я решаю проблему, но у меня есть этипробелы остались.Как я могу решить это?enter image description here

1 Ответ

0 голосов
/ 23 мая 2018

Отфильтруйте ваши данные внутри вашей машинописи следующим образом:

this.avisos = this.afs
    .collection('avisos', ref => ref.orderBy('fechaCreacion', 'desc'))
    .valueChanges()
    .map(data => data.filter(d => d.publicado));

Или отфильтруйте через Firestore в вашем запросе (предпочтительным способом):

this.avisos = this.afs
    .collection('avisos', ref => ref
       .orderBy('fechaCreacion', 'desc'))
       .where('publicado', '==', true)
    .valueChanges();

Важно сначала заказать, изатем фильтр.

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