获取 Firestore 子集合
Posted
技术标签:
【中文标题】获取 Firestore 子集合【英文标题】:Get Firestore subcollections 【发布时间】:2019-02-17 21:10:19 【问题描述】:我在使用以下结构从 Firestore 获取数据时遇到问题:
这是我获取类别集合的方式:
var defaultStore: Firestore?
var location: [DocumentSnapshot] = []
override func viewDidLoad()
super.viewDidLoad()
defaultStore = Firestore.firestore()
defaultStore?.collection("Category").getDocuments (querySnapshot: QuerySnapshot?, error: Error?) in
if let error = error
print(error.localizedDescription)
else
self.location = (querySnapshot?.documents)!
DispatchQueue.main.async
self.tableView.reloadData()
它给了我:Books
、Films
、From test
和 Serials
。
但是,例如,我如何从Films
获取收藏?
【问题讨论】:
您可以使用另一个催收电话。 defaultStore?.collection("Category").collection("Foo").getDocuments() @GaloTorresSevilla ,给我错误Value of type 'CollectionReference' has no member 'collection'
是的。抱歉,第一次收藏后忘记添加文档了
【参考方案1】:
你可以试试
defaultStore?.collection("Category").document("Film").collection("firstFilm").getDocuments();
因为如您所见,电影、书籍等是文档而不是收藏。欲了解更多信息,请阅读此处Firestore data model
【讨论】:
另外,我们可以使用 fhttps://firebaseopensource.com/projects/firebase/firebase-android-sdk/docs/ktx/firestore.md/ 这在使用随机 id 时真的很难,你不能像上面那样简单地获取它的子集合的集合。你需要循环它得到它。但最终难以实施。以上是关于获取 Firestore 子集合的主要内容,如果未能解决你的问题,请参考以下文章
Firestore:获取带有和不带有子集合数据的集合[重复]
如何使用 Firebase Firestore 获取子集合? [复制]