InvalidPipeArgument: '[object Object]' for pipe 'AsyncPipe'

You are giving currentDBUserBS$ the object you are fetching from Firebase and not the Observable. If you want to do it this way, you have to remove the | async in your template.

However, you could do the following :

fetchUser(uid){
  this.currentDBUserBS$ = this.afDb.object(`users/${uid}`).valueChanges();
}

.valueChanges() gives you an observable and will update automatically when a new value is emitted or an existing value is modified.


You must add .valueChanges(); after subscribing operation. It is required as shown below:

 this.courses$=db.list('/courses').valueChanges();

You're trying to pass array to async pipe instead of Observable. Just remove the async pipe or assign observable to currentDBUserBS$.