У меня есть база данных firestore с 2 различными коллекциями объектов, Users & Property. Я хочу иметь возможность показывать пользователю соответствующие карты свойств в фиде свойств на основе их сохраненных предпочтений (т. Е. Если их предпочтения «Город» сохранены как «Дублин», им отображаются только свойства, расположенные в Дублине).
Мой компонент фида свойств в настоящее время выглядит следующим образом: `
export class PropertyFeedComponent implements OnInit {
Propertys;
filtered;
Property: Observable<any[]>;
filter = new BehaviorSubject(null);
constructor(
public db: DbService,
public modal: ModalController,
public auth: AuthService
) {}
ngOnInit() {
this.Propertys = this.auth.user$.pipe(
switchMap(user =>
this.db.collection$('Propertys', ref =>
ref
.orderBy('createdAt', 'desc')
.limit(100)
)
),
shareReplay(1)
);
// this.filtered = this.filter.pipe(
// switchMap(status => {
// return this.Propertys.pipe(
// );
// })
// );
}
}
`
Я прокомментировал отфильтрованную функцию, так как не уверен, что это лучший способ сделать это.
Я называю свойство из базы данных в моем HTML следующим образом:
<ng-container *ngIf="(auth.user | async) || {} as user">
<ion-card *ngFor="let Property of Propertys | async; trackBy: trackById">
Как мне выполнить запрос каждого отдельного объекта, чтобы проверить, соответствует ли он предпочтениям, сохраненным пользователями.