我的Firestore数据中有一个简单的Users集合,该集合几乎没有属性。它是这样的:
我正在尝试在应用程序中实现搜索选项,并且我希望它也能够获得子字符串。因此,如果我有两个用户,例如:
demouser
hellouser
demotest
我搜索“演示”,它将同时给我demouser
和demotest
。
我进行了搜索,但只找到了旧答案(大约一岁),并且发现在Firestore中是不可能的,这是我从看到的答案中尝试的方法:
func searchForName(find name: String, completion: @escaping([User]?)->()){
var usersFound: [User] = []
db.collection(USERS_COLLECTION).whereField(USER_NAME, isGreaterThanOrEqualTo: name).whereField(USER_NAME, isLessThanOrEqualTo: name).getDocuments { (snapshot, err) in
if err == nil {
guard let results = snapshot?.documents else { return }
print(results[0].get(USER_MAIL))
}
}
}
但是没有用。我也尝试过arrayContains
,但没有任何结果。
可以在Firestore中找到字段的子字符串吗?
编辑:我当前的代码基于此处的答案:Google Firestore: Query on substring of a property value (text search),这对我不起作用。