在Firebase中建立带有评论的帖子

时间:2018-08-16 15:51:46

标签: javascript angular firebase firebase-realtime-database

我正在尝试找到使用RTDB在Firebase中存储和检索带有评论的帖子列表的最佳方法(不是Firestore,因为该项目已经进行了一段时间)。

我有一组用户: enter image description here 我有一组帖子 enter image description here

有人建议将用户名直接存储在帖子中并发表评论,但我担心他们有时会更改其信息。另外,我想显示其他信息(信誉,会员身份等)。

我的想法是查询每个用户并将对象存储在关联数组中。因此,第一次出现UID 1234时,代码将检查该数组,如果不存在,它将从数据库中查询它。

users = {};    
getUser( uid ){
    return new Promise( (resolve, reject ) =>{
      if( this.users && this.users[ uid ] ){
        resolve( this.users[ uid ] );
      } else {
        this.angular.object('users/'+uid ).snapshotChanges().take(1).subscribe( data =>{
          const user = data.payload.val();
          if( user ){
            this.users[ uid ] = user;
            resolve( user );
          } else {
            reject();
          }
        });
      }
    });
  }

如果页面上有100个用户和评论,我想知道这是否效率低下?而且对于Firebase之类的查询是否太多了?

0 个答案:

没有答案