javascript - 使用 Angular 从 Firestore 数据库返回多个集合
问题描述
我有一个 Ionic 应用程序,在服务上我声明了一个函数,该函数应该从 Firestore 数据库获取多个集合,并且必须返回所有集合。
我设法在服务部分获得了一个集合,如下所示:
read_Divisions() {
return this.firestore.collection('divisions').snapshotChanges();
}
这是页面打字稿
ngOnInit() {
this.crudService.read_Divisions().subscribe(data => {
this.Divisions = data.map(e => {
return {
Name: e.payload.doc.data()['name'],
};
})
});
}
这是我对多个集合的服务功能的想法:
read_Divisions() {
let divisions = this.firestore.collection('divisions').snapshotChanges();
let teams = this.firestore.collection('teams').snapshotChanges();
return [divisions,teams];
}
我在页面上获取一个集合的方式似乎并不容易适用于数组。最好的方法是什么?
解决方案
您可以使用forkJoin来等待多个 observable,在这种情况下进行两个单独的查询,因此代码可能如下所示:
readDivisions() {
return forkJoin({
divisions: this.firestore.collection('divisions').snapshotChanges(),
teams: this.firestore.collection('teams').snapshotChanges()
});
}
在您的代码中的另一个地方,您将订阅readDivisions
:
readDivisions.subscribe(result => console.log(result));
它会像:
{divisions: [], teams: []}
推荐阅读
- c# - 如何在 .Net Core 3 Worker 服务中设置应用程序设置
- javascript - 如何将读取为二进制字符串的文件转换为 Uint8Array,其值与使用 ArrayBuffer 时的值不同?
- javascript - 谷歌地图中的新错误
- swift - ios13 tls证书问题-连接错误
- android - 如何将位图传递给 android Worker?
- java - 在我解析 FileReader 期间,文件位置 0 出现意外的令牌结尾错误
- swift - 如何扩展 String 的 UnsafePointer
初始化器接受 NULL 指针? - r - R在切片向量时附加'NA'
- ios - 更新 Xcode 11.1 的约束问题
- python - 将 curl 请求转换为 python 请求