Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/407.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 从Firestore数据库返回多个集合_Javascript_Angular_Ionic Framework_Google Cloud Firestore - Fatal编程技术网

Javascript 从Firestore数据库返回多个集合

Javascript 从Firestore数据库返回多个集合,javascript,angular,ionic-framework,google-cloud-firestore,Javascript,Angular,Ionic Framework,Google Cloud Firestore,我有一个Ionic应用程序,在服务上我声明了一个函数,该函数应该从Firestore数据库获取多个集合,并且必须返回所有集合 我已设法在服务部分获得一个集合,如下所示: read_Divisions() { return this.firestore.collection('divisions').snapshotChanges(); } readDivisions() { return forkJoin({ divisions: this.firestore.c

我有一个Ionic应用程序,在服务上我声明了一个函数,该函数应该从Firestore数据库获取多个集合,并且必须返回所有集合

我已设法在服务部分获得一个集合,如下所示:

read_Divisions() { 
  return this.firestore.collection('divisions').snapshotChanges();
}
readDivisions() {
    return forkJoin({
        divisions: this.firestore.collection('divisions').snapshotChanges(),
        teams: this.firestore.collection('teams').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];
}
我在页面上获取一个集合的方式似乎不容易适用于数组。最好的方法是什么?

您可以使用等待多个观察值,在这种情况下进行两个单独的查询,因此代码可能如下所示:

read_Divisions() { 
  return this.firestore.collection('divisions').snapshotChanges();
}
readDivisions() {
    return forkJoin({
        divisions: this.firestore.collection('divisions').snapshotChanges(),
        teams: this.firestore.collection('teams').snapshotChanges()
    });
}
在代码的另一个地方,您可以订阅
readDivisions

readDivisions.subscribe(result => console.log(result));
它将是smth,如:

{divisions: [], teams: []}