【问题标题】:Get Firestore subcollections获取 Firestore 子集合
【发布时间】: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'
  • 是的。抱歉,第一次收藏后忘记添加文档了

标签: swift firebase google-cloud-firestore


【解决方案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 时真的很难,你不能像上面那样简单地获取它的子集合的集合。你需要循环它得到它。但最终难以实施。
猜你喜欢
  • 2020-09-03
  • 2018-03-18
  • 1970-01-01
  • 1970-01-01
  • 2019-01-02
  • 2019-10-06
  • 1970-01-01
  • 2023-03-18
  • 2018-04-03
相关资源
最近更新 更多