在 Angular 7 中使用地图模块获取 firebase 数据错误 "property rate does not exist of type {}"

in Angular 7 firebase data fetching with map module error "property rate does not exist of type {}"

我的数据库获取方法有一个关于评级的条件。

favoriteBooks: Observable<any>;
geFavoriteBooks() 
{
    this.favoriteBooks = this.db.list('/books').valueChanges().map(
    books => 
        {
           const topRatedBook =<any> books.filter(item => item.rate > 4.0);
           return topRatedBook;
        })
    return this.favoriteBooks;
}

books 是我的 firebase 数据库, topRadBook 是获取评分超过 4 的书籍列表。 \\ 错误是: 属性 速率不存在类型 {}

尝试这样的事情:

favoriteBooks: Observable<any>;
geFavoriteBooks() 
{
    return this.db.list('/books').valueChanges().pipe(map(
    books => 
        {
           const topRatedBook =<any> books.filter((item: any) => item.rate > 4.0);
           return topRatedBook;
        }
    ));
}

因为您想映射 valueChanges-Observable 的结果而不是 Observable 本身。但是请记住,你 return 是一个 Observable,所以你仍然必须像这样显示它:

<div *ngFor='let top of (topRanked |async)'>
  {{top.name}}
</div