【问题标题】:Firestore: How i can read subcollection data with documentID?Firestore:如何使用 documentID 读取子集合数据?
【发布时间】:2019-02-09 21:57:13
【问题描述】:

我如何只能读取当前用户的 cmets?对于“我自己的 cmets”页面。我的代码已运行,但如果(其中字段:currentuid)不存在,则不打印(“无数据”)。只打印 ("documents.data()")

    let db = Firestore.firestore()
    db.collection("tweets").getDocuments { (snapshot, error) in
        for document in snapshot!.documents {
            self.db.collection("tweets").document(document.documentID).collection("comments").whereField("uid", isEqualTo: self.uid).getDocuments(completion: { (snapshot2, error2) in
                for document2 in snapshot2!.documents {
                    print("\(document2.documentID) -> \(document2.data())")
                }
            })
        }
    }

【问题讨论】:

    标签: swift firebase google-cloud-firestore


    【解决方案1】:

    我想你正在寻找这个:

    let db = Firestore.firestore()
    db.collection("tweets").getDocuments { (snapshot, error) in
        for document in snapshot!.documents {
            self.db.collection("tweets").document(document.documentID).collection("comments")
              .whereField("uid", isEqualTo: self.uid).getDocuments(completion: { (snapshot2, error2) in
                if let err = err {
                    print("Error getting documents: \(err)")
                } else {
                    if snapshot2.isEmpty {
                        print("No comments from \(self.uid) found")
                    } else {
                        for document2 in snapshot2!.documents {
                            print("\(document2.documentID) -> \(document2.data())")
                        }
                    }
                }
            })
        }
    }
    

    请注意,集合组查询的工作正在进行中,这将允许您通过单个查询跨名为 comments 的所有集合执行上述操作。

    【讨论】:

      猜你喜欢
      • 2019-07-16
      • 2019-10-02
      • 2021-06-30
      • 2020-11-26
      • 2021-10-31
      • 2020-09-03
      • 2023-02-07
      • 2020-02-03
      • 2021-09-18
      相关资源
      最近更新 更多