private currentInfo:string[];
private useruid: string;
...
constructor(private AngularAuth: AngularFireAuth,
private db:AngularFirestore) { }
...
sendInfo(text:string){
this.readInfo();
this.currentInfo.push(text);
this.db.collection('users').doc(this.useruid).update({
Info: this.currentInfo
})
}
...
readInfo(){
this.useruid = this.AngularAuth.auth.currentUser.uid;
this.db.collection('users').doc(this.useruid).snapshotChanges().subscribe(a=>{
const data = a.payload.data() as {name:string, Info:string[]};
data.Info.forEach(element => {
this.currentInfo.push(element);
});
})
}
Добрый день, я не могу найти решение этой проблемы, у меня есть 1 метод readInfo () , который читает информацию о текущем пользователе из firebase, этот метод работает, очевидно, когда я пытаюсь Помимо другой части кода, однако я хочу обновить эту информацию с помощью некоторого text: string , однако, когда я его запускаю, он одновременно считывает базу данных и записывает новую информацию this. currentInfo . Таким образом, firebase не обновляется с текущей информацией.
В качестве примера представьте, что у меня в настоящее время есть currentInfo = ["a", "b", "c"] и как text = "d" , после того, как y запустит метод sendInfo () , в firebase записывается только ["d"].
Заранее спасибо за помощь !!