首页 > 解决方案 > 从 Firestore 文档中获取单个元素

问题描述

如何从 Firebase 中的文档中获取单个项目?

Firestore 数据库

我可以使用以下代码获取所有元素:

 let key = UserDefaults.standard.value(forKey: "uid") as! String
        let docRef = firebaseDB.collection("user").document(key)

        docRef.getDocument { (document, error) in
            if let document = document, document.exists {
                let dataDescription = document.data().map(String.init(describing:))
                print("Document data: \(dataDescription)")

            } else {
                print("Document does not exist")
            }
        }

我只希望得到姓名和电话号码。如何过滤我的结果?

标签: swiftfirebasegoogle-cloud-firestore

解决方案


FirebaseFirestore 有一种方便的缓存单个文档的方法:

首先,您需要通过 ID 指定文档:

let key = UserDefaults.standard.value(forKey: "uid") as? String ?? "Null" // Unique user key
let docRef = db.collection("user").document(key)

获取文档:

docRef.getDocument { (document, error) in
     if let document = document, document.exists {
         let docData = document.data()
         // Do something with doc data
      } else {
         print("Document does not exist")

      }
}

访问文档数据:

 let status = docData!["phone"] as? String ?? ""

推荐阅读