фильтрация данных из базы данных firebase-realtime - PullRequest
0 голосов
/ 06 ноября 2018

Я пытаюсь получить данные из firebase со значением имени пользователя. Я пробовал 2 разных метода неделю назад, но теперь я вернулся к этому, я заметил, что удалил его.

Здесь внутри home.ts, где я подписываюсь на данные

this.database.list<EventModels>('event-list').valueChanges().subscribe((eventData) => { 

}, (err)=>{
 console.log("Error while retrieving event details : ", err);
}); 

this.eventListRef$ = this.database.list<EventModels>('event-list');
this.eventList$ = this.eventListRef$.snapshotChanges()
.pipe(
  map(changes => 
    changes.map(c => ({ id: c.payload.key, ...c.payload.val() }))
  )
);

Данные, которые я хочу отфильтровать, равны создателю

enter image description here

Поскольку я установил для создателя электронную почту пользователя, я хочу перечислить все события, которые были созданы только пользователем, с использованием == firebase.auth().currentUser.email, а все, что я пробовал, не удалось.

1 Ответ

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

Из документации AngularFire по запросам списков :

db.list('/items', ref => ref.orderByChild('size').equalTo('large'))

Похоже, у вас должно быть что-то вроде:

this.eventListRef$ = this.database.list<EventModels>('event-list', 
  ref => firebase.database().ref("event-list").orderByChild("email").equalTo(firebase.auth().currentUser.email));
...