angular-firebase получить текущие сообщения пользователя - PullRequest
0 голосов
/ 11 июня 2018

Я занимаюсь разработкой ионного приложения angular-firebase, но у меня возникла проблема с получением сообщений текущего пользователя из firebase.Все, что мне нужно, это получить текущие сообщения пользователя

Вот код:

postss: any;
constructor(

private afAuth: AngularFireAuth,
) {
this.postss = this.afDB.list('users/posts').valueChanges();

this.afAuth.authState.subscribe(user => {

      }

Здесь HTML

<ion-list no-lines>
<ion-card  *ngFor="let post of posts ">
<li><ul>{{post}} </ul></li>

Вот скриншот:

enter image description here

Ответы [ 2 ]

0 голосов
/ 11 июня 2018

Вместо this.postss = this.afDB.list('users/posts').valueChanges();, сделайте this.postss = this.afDB.list('users/posts/' + user.uid).valueChanges();.Очевидно, что порядок операций, опубликованный в вашем вопросе, возможно, придется изменить, чтобы вы получили currentUser.uid до определения оператора thi.afDB.list.

0 голосов
/ 11 июня 2018

Я не уверен в структуре вашей базы данных, но использование «списка» само по себе вернет все объекты, расположенные в этом пути.

Вы можете сделать запрос и указать, какие объекты вы хотите получитьделая что-то вроде этого:

    this.fireDB.list('users/posts', ref => ref.orderByChild('user_id').equalTo('123')).snapshotChanges().subscribe(res=> {

    res.forEach(doc =>

    this.posts.push(doc.payload.val());

    console.log(doc.payload.val()); //This will show you the values of each post returned.
    console.log(doc.key); //This will show you the ID of the object entry in the database

    });

});

Например, приведенный выше запрос вернет все объекты в базе данных в соответствии с пользователями / сообщениями, созданными user_id = 123

. Вы можете прочитать больше о angularfire2 * 1008.* здесь

...