【问题标题】:angular-firebase get currentUser postsangular-firebase 获取 currentUser 帖子
【发布时间】:2018-11-20 04:37:50
【问题描述】:

我正在开发一个 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>

截图如下:

【问题讨论】:

  • 你看到了什么问题?
  • 正在让所有用户发布不是当前用户@frankVanPuffelen
  • 为了让我们有效地帮助您解决这个问题,请更新您的问题以在users 下包含 JSON 的 sn-p(作为文本,无屏幕截图)。您可以通过单击Firebase Database console 中的“导出 JSON”链接来获取此信息。
  • 我添加了一张照片

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


【解决方案1】:

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

【讨论】:

  • 我之前尝试过,但我得到了这个错误:错误:Reference.child failed: First argument is an invalid path = "users/posts/[object Object]
【解决方案2】:

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

您可以通过执行以下操作进行查询并指定要提取的对象:

    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创建的users/posts下的所有对象

你可以阅读更多关于 angularfire2 here

【讨论】:

  • 我只需要当前用户的帖子,因为我的代码显示所有用户的帖子
  • 是的,我刚刚发布的代码可以做到这一点。将“user_id”更改为您放入数据库中的任何字段名称,并将“123”更改为您要为其检索帖子的所需用户。它可以是一个变量。我不知道你的数据库是如何设置的,所以你可能需要改变一些东西。
  • 也许你的代码没问题,但我的应用程序有很多用户,他们将帖子发布到 firebase,你的代码什么也没显示,我需要的只是我的 angular 代码中某处的 userId,我现在有 2 年没有解决方案: (
  • 代码会将结果缩小到您指定的用户。阅读更多关于querying lists
  • 我现在哭了,因为我路过所有有角度的文档,但我什么也没得到
猜你喜欢
  • 2019-04-16
  • 1970-01-01
  • 1970-01-01
  • 2018-03-07
  • 2021-02-26
  • 1970-01-01
  • 2018-03-06
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多