【问题标题】:how to receive data from real time database in firebase in angular如何以角度从firebase中的实时数据库接收数据
【发布时间】:2020-11-15 19:45:12
【问题描述】:

我想从 firebase 中的实时数据库接收数据。数据如下图:

我试过的代码是

return this.db.list('messages', ref => {
  return ref.limitToLast(25).orderByKey();
});

但它不起作用

【问题讨论】:

    标签: javascript angular firebase firebase-realtime-database angularfire2


    【解决方案1】:

    试试这个从firestore获取消息列表。导入 AngularFireDatabase 服务和 AngularFireList 来存储消息集合。

    import { Injectable } from '@angular/core';
    import { AngularFireDatabase, AngularFireList } from '@angular/fire/database';
    
    @Injectable({
      providedIn: 'root'
    })
    export class MessageService {
      
        messages: AngularFireList<any>;
      
       constructor(private http: HttpClient, private db: AngularFireDatabase) { }
    
       /**
         * Get All tickers from firebase
         */
        getMessages(): Observable<any> {
          this.messages = this.db.list('messages');
          return this.messages.valueChanges();
        }
    
    }

    确保您已在应用模块中导入 AngularFireModuleAngularFireDatabaseModule

    【讨论】:

      【解决方案2】:

      AngularFire 是通过 RxJs 库使用 Observable 模式构建的。

      您可以使用 valueChanges() 方法流式传输数据,如 in the documentation 所述

      items: Observable<any[]>;
      constructor(firestore: AngularFirestore) {
         this.items = firestore.collection('items').valueChanges();
      }
      

      【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-01-16
      • 2018-09-11
      • 2021-07-18
      • 2018-04-21
      相关资源
      最近更新 更多