Вложенные запросы Firestore не возвращают результаты в основной запрос - PullRequest
0 голосов
/ 13 января 2019

У меня есть две коллекции Firestore, / projects и / tasks. Коллекция / tasks содержит поле ссылки на поле id в коллекции / projects. В машинописи я расширил класс задач с помощью элемента имени проекта. Поэтому при запросе к коллекции / tasks мне нужно также вернуть имя проекта.

Мой текущий код использует valueChanges (), моя первая попытка была сделана с использованием snapshotChanges ().

В настоящее время мой код выглядит так:

this.xtasks = this.tasksCollection.valueChanges().pipe(
      map(values => values.map(data => {
          return {
              created: data.created,
              createdby: data.createdby,
              description: data.description,
              due: data.due,
              lastmodified: data.lastmodified,
              lastmodifiedby: data.lastmodifiedby,
              project: data.project, // i.e. /projects/<guid>
              sort: data.sort,
              state: data.state,
              title: data.title,
              uid: data.uid,
              projectname: this.projectService.getProjectStringField(data.project.replace('/projects/', ''), 'name') // supposed to retrive name of a project by project guid
            };
        })
      )
    );

Но когда канал возвращает результат, имя проекта пусто. Я пытался заглянуть в Promise, но не смог заставить его вернуть значение для имени проекта.

В фрагменте все / задачи поле представлены в объекте данных, но я также хочу получить имя проекта.

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