angular 如何从 firebase 中的实时数据库接收数据
how to receive data from real time database in firebase in angular
我想从 firebase 的实时数据库接收数据。数据如下所示:
我试过的代码是
return this.db.list('messages', ref => {
return ref.limitToLast(25).orderByKey();
});
但它不起作用
AngularFire 是通过 RxJs 库使用 Observable 模式构建的。
您可以使用 valueChanges() 方法流式传输数据,如所述in the documentation
items: Observable<any[]>;
constructor(firestore: AngularFirestore) {
this.items = firestore.collection('items').valueChanges();
}
试试这个从 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();
}
}
确保您已在应用模块中导入 AngularFireModule 和 AngularFireDatabaseModule。
我想从 firebase 的实时数据库接收数据。数据如下所示:
我试过的代码是
return this.db.list('messages', ref => {
return ref.limitToLast(25).orderByKey();
});
但它不起作用
AngularFire 是通过 RxJs 库使用 Observable 模式构建的。
您可以使用 valueChanges() 方法流式传输数据,如所述in the documentation
items: Observable<any[]>;
constructor(firestore: AngularFirestore) {
this.items = firestore.collection('items').valueChanges();
}
试试这个从 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();
}
}
确保您已在应用模块中导入 AngularFireModule 和 AngularFireDatabaseModule。