Это мой дизайн базы данных.
foodie-ab2b4{
Foods{
0{
FoodName: "Baked Beans In Tomato Sauce"
FoodRecipe:
FoodUri:
Image:
}
1{
FoodName: "Another bean | Bubbling Bacon Butter Beans recipes"
FoodRecipe:
FoodUri:
Image:
}
}
}
Я работаю над проектом ios, и именно так структурировал мой firebase json.
let ref = Database.database().reference()
func searchFoodByName(FoodName: String){
let foodsRef = ref.child("Foods")
let input = FoodName
let query = foodsRef.child(key).queryOrdered(byChild: "FoodName").queryEnding(atValue: input)
query.observeSingleEvent(of: .value, with: { snapshot in
print(snapshot)
for child in snapshot.children {
let snap = child as! DataSnapshot
let dict = snap.value as! [String: Any]
let fName = dict["FoodName"] as! String
let fIngredients = dict["Ingredients"] as! [String]
print(fName)
print(fIngredients)
let key = snapshot.key
print(key)
}
})
}
Я пытаюсь отфильтровать мои объекты питания по их именам. У меня есть 10 объектов в моей базе данных. В большинстве случаев этот поиск возвращает истинные объекты. Но есть один пример, который я не могу решить.
Когда я запрашиваю слово "помидор", мне нужно получить 1 объект. Но есть два. Хотя в моем втором объекте нет томатного слова.
Два объекта находятся в моем файле JSON.
Если необходимо, я могу загрузить весь свой файл JSON сюда.