не может достичь ID коллекции пожарного магазина - PullRequest
0 голосов
/ 05 февраля 2019

Я пытаюсь получить доступ к данным, когда есть коллекция, и внутри этой коллекции документ, а внутри него снова коллекция.

Но я не могу это сделать.

getTeams() {
  this.db
    .doc('epicseven')
    .collection('teams')
    .snapshotChanges()
    .subscribe(data => {
      console.log(data);
    });
}

это база данных.

image 1 image 2

Я хочу получить доступ к JSON с последним массивом, поэтому я могу перебирать html.

Спасибо за вашу помощь.

Ответы [ 2 ]

0 голосов
/ 07 февраля 2019

используйте это.

getTeams() {
  this.db
  .collection('epicseven')
  .doc('teams')
  .collection([TEAM_NAME])
  .doc([ID])
  .snapshotChanges()
  .pipe(map(list => list.map(item => {
     let data = item.payload.doc.data();
     let id = item.payload.doc.id;
     return { id, ...data }
   }))).subscribe(res => {
    console.log(res);
  });
}
0 голосов
/ 05 февраля 2019

Я думаю, вы в начале ошибочно приняли коллекцию за документ.«epicseven» - это коллекция.После того, как коллекция всегда является документом, а внутри документа есть либо ссылка на коллекцию, либо сама ценность.Помимо того, что вы не углубились достаточно глубоко, чтобы получить желаемые данные, я полагаю, что ваш запрос получит только название коллекции команд, поскольку запрос Firestore по умолчанию невелик.Я бы предложил следующий запрос:

getTeams() {
  this.db
    .collection('epicseven')
    .doc('teams')
    .collection([TEAM_NAME])
    .doc([ID])
    .valueChanges()
    .subscribe(data => {
      console.log(data);
    });
}
...