簡體   English   中英

如何更新有角度的firebase?

[英]how to update with angular firebase?

我正在使用afb成功檢索用戶:

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

但是然后我需要通過ID更新用戶的LoginCount屬性:

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

這似乎是在Angular Firebase中進行更新的正確方法嗎? 我遇到的第一個問題是找到的用戶沒有$ key屬性。 我該怎么做才能確保我的數據庫/查詢代碼在返回的記錄中包含$ key屬性?

當您編寫console.log(x.UserId)時,您是否在控制台中獲得與該用戶身份驗證中的ID匹配的ID? 如果是,那么用戶使用的參數是什么? 您要更新什么?

如果要在人員登錄時增加某個對象以對其進行計數,則應在數據庫中創建一個新節點來為每個用戶計數。 這是一種方法:

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

        }));

如果通過編寫console.log(x.UserId)沒有獲得用戶ID,則可以獲取它:

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

      }
    });

比將$ {this.x.UserId}更改為$ {this.UserId}。 希望這對您有所幫助,加油!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM