Swift 在数据库搜索中将小写和大写视为相同
我有一个firebase应用程序,我希望能够搜索用户,但我遇到的问题是,如果数据库值为Swift 在数据库搜索中将小写和大写视为相同,swift,firebase,google-cloud-firestore,Swift,Firebase,Google Cloud Firestore,我有一个firebase应用程序,我希望能够搜索用户,但我遇到的问题是,如果数据库值为hello,如果用户在搜索栏中输入hello,则返回true,但如果hello,则返回false。我希望能够将小写和大写视为相同,因此即使用户键入了hElLo,它也会返回true。下面是我的代码 func fsFindUser(q user: String, completion: @escaping CompletionHandler) { let userRef = fsRef.colle
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)
}
}
}
答案是在节点中存储两组数据;一个用于小写查询,另一个用于显示
users
uid_0
queryable: "mcdonald"
display: "McDonald"
uid_1
queryable: "van winkle"
display: "Van Winkle"
答案是在节点中存储两组数据;一个用于小写查询,另一个用于显示
users
uid_0
queryable: "mcdonald"
display: "McDonald"
uid_1
queryable: "van winkle"
display: "Van Winkle"
这很有道理。所以我只能用Queryables搜索这很有意义。所以我只能用queryable搜索