【发布时间】:2018-11-10 15:46:16
【问题描述】:
这是我的数据库设计。
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 文件上传到这里。
【问题讨论】:
-
key的值是多少?
标签: ios swift firebase firebase-realtime-database