我如何从Firestore Collection的文档中检索一个特定字段,而无需通过UID文档进行操作?

发布于 2025-02-01 01:05:57 字数 1395 浏览 2 评论 0原文

正如我在标题中提到的那样,IM试图从特定字段中提取数据,这个想法是用户在搜索栏中键入某个数字,如果使用数字(CAR许可证号),则用户可以联系汽车所有者。

我想做的是在所有用户中检查此字段。 sstatic.net/l5m9k.png“ alt =”在此处输入图像说明”>

我当前的代码:

   func searchBar(_ searchBar: UISearchBar, textDidChange searchText: String) {

    if searchText == "" {
        
        carNumberLbl.text = ""
    }else {
        getData ()
    }
}

func getData (){
    let docRef = db.collection("Users").document("2MHOob4kgh8JOu6UXxfb")
    docRef.getDocument { (document, error) in
        
        if let document = document, document.exists {
            let carNumber = document.get("car_license")
            self.carNumberLbl.text = carNumber as! String
            print(carNumber)
        }else
        {
            print("Couldn't find data")
        }
    }
}

解决方案!

func getDataSpecificField (){
    
    db.collection("Users").whereField("car_license", isEqualTo: self.searchBarCars.text!)
        .getDocuments() { (querySnapshot, err) in
            if let err = err {
                print("Error getting documents: \(err)")
            } else {
                for document in querySnapshot!.documents {
                    let carNumber = document.get("car_license") as! String
                    self.carNumberLbl.text =  carNumber
                    
                }
            }
    }
}

as I mentioned in the title, im trying to pull data from a specific field, the idea is the user is typing a certain number in the search bar, if the number (car license number) exist the user can contact the car owner.

what im trying to do is checking this field throughout all users.enter image description here

my current code :

   func searchBar(_ searchBar: UISearchBar, textDidChange searchText: String) {

    if searchText == "" {
        
        carNumberLbl.text = ""
    }else {
        getData ()
    }
}

func getData (){
    let docRef = db.collection("Users").document("2MHOob4kgh8JOu6UXxfb")
    docRef.getDocument { (document, error) in
        
        if let document = document, document.exists {
            let carNumber = document.get("car_license")
            self.carNumberLbl.text = carNumber as! String
            print(carNumber)
        }else
        {
            print("Couldn't find data")
        }
    }
}

Solution!

func getDataSpecificField (){
    
    db.collection("Users").whereField("car_license", isEqualTo: self.searchBarCars.text!)
        .getDocuments() { (querySnapshot, err) in
            if let err = err {
                print("Error getting documents: \(err)")
            } else {
                for document in querySnapshot!.documents {
                    let carNumber = document.get("car_license") as! String
                    self.carNumberLbl.text =  carNumber
                    
                }
            }
    }
}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文