2017-12-10 3 views
0

角型firebaseで更新するには?私はAFBで正常にユーザーを取得しています

//retrieve users   
afb.collection('Users').valueChanges() 
.subscribe(results => { 
this.users = results; 
}) 

しかし、その後、私はidで、ユーザのためのLoginCountのproperryを更新する必要があります。

var user = this.users.find(x => x.UserId === userId); 
user.LoginCount = user.LoginCount + 1; 
afb.doc('/Users/' + user.$key).update(user); 

これを行うには、正しい方法であると表示されていますAngular Firebaseのアップデート?最初の問題は、見つかったユーザーが$ keyプロパティを持っていないことです。 db/queryコードに返されたレコードの$ keyプロパティが含まれていることを確認するには、何が必要ですか?

答えて

0

console.log(x.UserId)を書くと、そのユーザーの認証時にidに一致するIDをコンソールに取得しますか?はいの場合は、ユーザーのパラメータは何ですか?何を更新したいですか?

個人ログが入っているときにオブジェクトを増分したい場合は、それを数えるために、データベースに新しいノードを作成して、各ユーザーをカウントする必要があります。あなたが書き込みにconsole.log(x.UserId)を持つユーザーIDを取得しない場合

this.afb.object(`/counters/${this.x.UserId}/logcounter`).query.ref.transaction((logcounter =>{ 
      if(logcounter === null){ 
       return logcounter = 1; 
      } else { 
       return logcounter + 1; 
      } 

     })); 

は、あなたがそれを得ることができます:変化よりも

this.fire.authState.subscribe(user => { 
     if (user) { 
     this.UserId = user.uid; 

     } 
    }); 

:{この$これは、1つの方法です。 x.UserId}を$ {this.UserId}に追加します。 これがあなたを助けてくれることを願っています。

関連する問題