获取 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()
            
        
    

它给了我:BooksFilmsFrom testSerials。 但是,例如,我如何从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:获取在哪里找到的文档的子集合

有没有办法获取子集合中的所有文档(Firestore)

Firestore:获取带有和不带有子集合数据的集合[重复]

如何使用 Firebase Firestore 获取子集合? [复制]

如何使用 react-redux-firebase 从 firestore 获取子集合

Firestore 获取根集合的所有文档和子集合