在数据库搜索中将小写和大写视为相同

时间:2018-11-25 11:03:05

标签: swift firebase google-cloud-firestore

我有一个firebase应用程序,我希望能够搜索用户,但是我遇到的问题是,如果数据库值为hello,如果用户在搜索栏中输入hello,它将返回true,但如果为Hello,则返回false。我希望能够将小写和大写视为相同,因此即使用户键入hElLo,它也会返回true。下面是我的代码。

func fsFindUser(q user: String, completion: @escaping CompletionHandler) {

        let userRef = fsRef.collection(USERS_REF)
        let query = userRef.whereField("user", isEqualTo: user)

        query.addSnapshotListener { (snapshot, error) in

            if let error = error {
                print("Error getting document: \(error)")
            } else if (snapshot?.isEmpty)! {

                completion(false)

            } else {
                completion(true)

            }
        }
    }

1 个答案:

答案 0 :(得分:1)

答案是您在节点中存储了两组数据;一个用于小写查询,另一个用于显示

users
  uid_0
    queryable: "mcdonald"
    display: "McDonald"
  uid_1
    queryable: "van winkle"
    display: "Van Winkle"