无法过滤Firestore中的数据

时间:2019-06-09 00:04:01

标签: ios swift firebase filter google-cloud-firestore

我正在尝试在Firestore中过滤数据,然后在将信息打印到控制台时得到所有文档。 Firestore数据库的结构如下:

/Collection
   /auto-doc ID
        / hosp : "hosp1"
          team : "team1"
          (there are more fields in every document)

出于测试目的,我只有六个文档,其中两个具有我要过滤并打印到控制台(hosp1)的字段。

@IBAction func getData2(_ sender: Any) {

    if HOSP != "hosp1" {
        query = Firestore.firestore().collection(PTLIST_REF).whereField("hosp", isEqualTo: "hosp1")
        ptListCollectionRef.getDocuments { (snapshot, error) in
            if let err = error {
                debugPrint("error getting data: \(err)")
            }
            else {
                for document in (snapshot?.documents)! {
                    print(document.data())
                }
            }

1 个答案:

答案 0 :(得分:2)

您正在获取所有文档,因为您是在集合引用而不是查询上调用getDocuments()函数。换句话说,您根本不会应用任何过滤器。为了能够过滤数据,请更改以下代码行:

ptListCollectionRef.getDocuments {/* ... */}

query.getDocuments {/* ... */}