Я пытаюсь получить данные из Firebase, используя RxSwift. Я использую this для выполнения вызовов API.
Поэтому моя БД выглядит так: Collection Category (у нее есть свойства: title, about et c) внутри есть еще одна коллекция под названием Manifests . Чтобы получить Манифесты Мне нужно использовать documentId
из Категория коллекция. Так что это два разных вызова API, но я хочу объединить результаты
Это то, что я имею до сих пор:
func fetchCategories() -> Observable<[ManifestCategory]> {
let ref = self.db.collection(FirebaseCollection.manifestCategories.collectionPath)
return ref.rx.getDocuments().map({ snapshot in
return snapshot.documents.map({ doc in
var category = ManifestCategory.init(JSON: doc.data())
category?.documentId = doc.documentID
return category
}).compactMap({ $0 })
})
}
func fetchManifests(categoryId: String) -> Observable<[Manifest]> {
let ref = self.db.collection(FirebaseCollection.manifests(categoryId: categoryId).collectionPath)
return ref.rx.getDocuments().map({ snapshot in
return snapshot.documents.map({ doc in
var manifest = Manifest.init(JSON: doc.data())
manifest?.documentId = doc.documentID
return manifest
}).compactMap({ $0 })
})
}
Можно ли как-нибудь добавить массив Manifests в категорию объект?
Спасибо!