[英]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.