Как я могу получить подколлекцию, используя Angular Firestore? - PullRequest
0 голосов
/ 30 августа 2018

Я создал коллекцию "Cuisniers" и подколлекцию "Produits" в Firestore. Я могу создать документ и поля из кода.

enter image description here

Я также могу получить данные из коллекции "Cuisiniers"

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>

но я не могу понять, как получить мою коллекцию "Продукты"

Кто-нибудь может мне помочь, пожалуйста? :))

1 Ответ

0 голосов
/ 30 августа 2018

Используйте это, чтобы прочитать вашу подколлекцию внутри документа.

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