如何使用Angular Firestore检索子集合?

时间:2018-08-30 17:02:22

标签: angular ionic3 google-cloud-firestore angularfire2

我在Firestore中创建了一个集合“ Cuisniers”和一个子集合“ Produits”。我可以通过代码创建文档和字段。

enter image description here

我还可以从“美食家”集合中检索数据

import { Component } from '@angular/core';
import { IonicPage, NavController, NavParams } from 'ionic-angular';
// We MUST import both the firebase AND firestore modules like so
import * as firebase from 'firebase';
import 'firebase/firestore';
import { AngularFirestore, AngularFirestoreCollection, AngularFirestoreDocument } from 'angularfire2/firestore';
import { Observable } from 'rxjs';
import { map } from 'rxjs/operators';
import 'rxjs/add/operator/map';
import { Cuisinier } from '../../models/cuisinier';
import { FormsModule } from '@angular/forms';
import { storage } from 'firebase';
import { ListeproduitPage } from '../listeproduit/listeproduit';

@Component({
  selector: 'page-listerestau',
  templateUrl: 'listerestau.html',
})
export class ListerestauPage  {

    cuisiniersCol: AngularFirestoreCollection<Cuisinier>;
    cuisiniers: Observable<Cuisinier[]>;

    constructor(public navCtrl: NavController, public navParams: NavParams, private afs: AngularFirestore) {

        this.cuisiniersCol = this.afs.collection('cuisiniers');
        this.cuisiniers = this.cuisiniersCol.valueChanges();

    }

    ngOnInit(){
        this.afs
        .collection('cuisiniers')
        .snapshotChanges()
        .subscribe(result => {
            console.log(result);
        });

    }
listeproduitPage = ListeproduitPage;
<ion-content padding>
  <ion-card *ngFor="let cuisinier of cuisiniers | async"
    [navPush]="listeproduitPage" [navParams]="cuisinier">
    <img src="https://thumbs.dreamstime.com/b/chef-africain-délicieux-32896684.jpg"/>
    <ion-card-content>
      <ion-card-title>
        {{ cuisinier.nom }}
        </ion-card-title>
        <p>Adresse: {{ cuisinier.adresse }}</p>
        <p>{{ cuisinier.categorie }}</p>
    </ion-card-content>
  </ion-card>
</ion-content>

但是我不知道如何检索我的SubCollection“产品”

有人可以帮助我吗? :))

1 个答案:

答案 0 :(得分:0)

使用它来读取您的烹饪文档中的子集合。

this.afs
    .collection('cuisiniers/{cuisineId}/Produits')
    .snapshotChanges()
    .subscribe(result => {
        console.log(result);
    });