angular-firebase获取currentUser帖子

时间:2018-06-10 23:59:58

标签: angular typescript firebase firebase-realtime-database angularfire2

我正在开发一个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 :(得分:2)

而不是this.postss = this.afDB.list('users/posts').valueChanges(); this.postss = this.afDB.list('users/posts/' + user.uid).valueChanges();。显然,可能需要修改问题中发布的操作顺序,以便在定义thi.afDB.list语句之前获取currentUser.uid。

答案 1 :(得分:1)

我不确定数据库的结构,但单独使用'list'将返回位于该路径中的所有对象。

您可以通过执行以下操作来执行查询并指定要拉出的对象:

    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 here

的更多信息