Я пытаюсь выполнить поиск по ключевым словам с использованием запросов firebase, но они, кажется, никогда не возвращают правильное значение. Его всегда первый ребенок базы данных. база данных организована с использованием child by autoid. мои данные выглядит следующим образомfirebase queryendingatValue ("") всегда возвращает первый дочерний элемент в базе данных
posts :
-KJj6DMQVcaOIBZ76X03
category:
"cleaner"
dishname:
"Lysol"
likes
8QCQPfShSTdYe1VbCxHK4dkJPFj1:
true
likesCount:
1
picURL:
"https://firebasestorage.googleapis.com/v0/b/dis..."
poster:
"8QCQPfShSTdYe1VbCxHK4dkJPFj1"
price:
"$5"
restaurant:
"house"
-KJj6PaHt9EfXQ5-EU-m
-KJnTUcb3BvZDMI0Pxgo
-KJnTl4giuy5QMvdeEo5
функции, которая делает поиск выглядит следующим образом
func searchBarSearchButtonClicked(searchBar: UISearchBar) {
filteredPosts.removeAll()
let postref = firebase.child("posts")
let search = searchController.searchBar.text!
print(search)
let postQ = (postref.queryOrderedByKey().queryEndingAtValue(search))
// postQ.keepSynced(true)
postQ.observeSingleEventOfType(.ChildAdded, withBlock: { (snapshot) in
self.filteredPosts.append(snapshot)
print(snapshot)
self.shouldShowSearchResults = 2
self.tableView.reloadData()
})
searchController.searchBar.resignFirstResponder()
}
Это супер расстраивает. пожалуйста, помогите
Вы запрашиваете dishname или категорию? – Shubhank
, на котором ребенок, вы хотите найти ... категорию, dishname или на что это должно определить в вашей ссылке на firebase. –
Я хочу запросить у каждого из них. Этот код на самом деле вернул правильные результаты сначала, чем остановил @Shubhank –