У меня есть две коллекции 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, но не смог заставить его вернуть значение для имени проекта.
В фрагменте все / задачи поле представлены в объекте данных, но я также хочу получить имя проекта.