如何从Firebase获取名称以特定字符串开头的记录?
问题描述:
如何查询Firebase以返回名称以特定字符串开头的儿童?如何从Firebase获取名称以特定字符串开头的记录?
我想用这个autocomplete textfield project来使用Firebase。
他们使用NSURLSession获取与正在键入文本字段的字母开头的单词:
private func handleTextFieldInterfaces(){
autocompleteTextfield.onTextChange = {[weak self] text in
self?.fetchAutocomplete(text)
}
}
private func fetchAutocomplete(keyword:String) {
dataTask = NSURLSession.sharedSession().dataTaskWithRequest(request, completionHandler: { (data, response, error) -> Void in
if let data = data{
do{
let predictions = try NSJSONSerialization.JSONObjectWithData(data, options: .AllowFragments)
var locations = [String]()
for dict in predictions as! [NSDictionary]{
locations.append(dict["description"] as! String)
}
dispatch_async(dispatch_get_main_queue(), {() -> Void in
self.autocompleteTextfield.autoCompleteStrings = locations
})
})
dataTask?.resume()
}
我怎么能做到这一点与火力地堡?
我认为有可能使用isEqual查询完全匹配,但是有没有开始查询?
ref = FIRDatabase.database().reference(withPath: "/locations")
exactLocations = ref.isEqual(keyword)
答
您可以查询开始与queryStartingAtValue
和queryEndingAtValue
特定的子字符串。
ref.queryStarting(atValue: "value")
.queryEnding(atValue: "value\\uf8ff")
查看Firebase documentation on sorting and filtering。
同时建议:
是[这](https://github.com/mnbayan/AutocompleteTextfieldSwift)你指的是这个项目? –
是的,谢谢。修复了我的链接。在他们的示例代码中,他们使用nsurlsession从谷歌地点获取数据。我想使用我自己的Firebase数据。 – grabury