.valueChanges Firestore возвращает наблюдаемую, так что вы можете сопоставить свои пользовательские данные с объектом firestore, используя другой канал.
getProfileData() {
return this.authService.user$.pipe(
switchMap(user => this.mergeUserAndProfile(user)),
);
}
mergeUserAndProfile(user): Observable<any> {
return this.fstore
.collection('profiles')
.doc(user.uid)
.valueChanges()
.pipe(
map((p: profile) => {
// Add user properties to profile
p.uid = user.uid;
return p
})
)
}