Как правильно получить данные документа, используя firestore с автоматическим идентификатором в коллекции и документе? - PullRequest
0 голосов
/ 30 сентября 2019

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

Я пытался следовать документации инекоторые сообщения здесь, но мне все еще трудно извлечь данные из вложенной коллекции документа.

Я использую Firestore (автоматический идентификатор в коллекции и документах) / Angularfire.

В моем коде нет ошибок, однако всякий раз, когда я проверял консоль, она выдает пустой массив.

Я следовал документации на angularfire2 о том, как подписаться, используя snapshotchanges.

вот мой сервисный код для подколлекции: notes:

qboardtask - это моя основная коллекция;

qboardTaskID - это буквально то, что я поместил, вероятно, именно здесь моя проблема;

подзадача - это имямоя подколлекция

  subtaskcollection:AngularFirestoreCollection<subtaskmodel>;
  subtasks:Observable<subtaskmodel[]>;
  subtaskDoc:AngularFirestoreDocument<subtaskmodel>;


  constructor(public subtasklist : AngularFirestore) { }

  getsubtask(){
    this.subtaskcollection = this.subtasklist.collection('qboardtask').doc('qboardtaskID').collection('subtask');
    //or
    this.subtasks = this.subtasklist.collection('qboardtask/${qboardtaskID}/subtask').snapshotChanges().pipe(map(changes=>{
      return changes.map(a=>{
        const data=a.payload.doc.data () as subtaskmodel;
        data.id=a.payload.doc.id;
        return data;
      })
    }))
    return this.subtasks;

Вывод на консоль

trelloboards.component.ts:39 Array(0)

Однако это не работает, и я получаю пустой массив в консоли

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...