Получить имя категории из коллекции Firebase и поместить его в другую коллекцию - PullRequest
0 голосов
/ 24 октября 2018

У меня есть коллекции вроде:

categories (collection):
--id1 (ID od document)
----name: "Sport"
--id2
----name: "Hobby"

books (collection):
--id1 (ID od document)
----categories: [id1, id2]
----name: "Book title 1"
--id2
----categories: [id1]
----name: "Book title 2"

Мне нужно получить список книг, в которых будут доступны названия категорий, а не идентификаторы категорий, такие как:

books = [{
  categories: ['Sport', 'Hobby'],
  name: "Book title 1"
}, {
  categories: ['Sport'],
  name: "Book title 2"
}]

И я нене знаю, как получить названия категорий и поместить их в учебники.Пожалуйста, посмотрите на мой код ниже:

public getBooks(): Observable<any> {
return this.db
  .collection('books')
  .snapshotChanges()
  .pipe(
    map(books => {
      return books.map(book => {
        const transformedCategories = book.payload.doc.data()['categories'].map(categoryId => {
          return this.db.collection('categories').doc(categoryId).snapshotChanges().pipe(
            map(changes => {
              return changes.payload.data()['name'];
            }),
          );
        });
        return {
          id: book.payload.doc.id,
          title: word.payload.doc.data()['title'],
          categories: ???
        };
      });
    })
  );
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...