gpt4 book ai didi

ios - 通过数据关键字进行 Firebase 搜索

转载 作者:行者123 更新时间:2023-11-28 15:48:36 26 4
gpt4 key购买 nike

我有这样的 Firebase 实体:

firebase entity

这个函数显示了我所有的数据:

    func getRecipes(text: String, completion: @escaping (Recipe) -> Void)
{
let databaseRef = FIRDatabase.database().reference()
databaseRef.child("Recipes").queryOrdered(byChild: text).observe(.childAdded, with: { snapshot in
if let value = snapshot.value as? [String : AnyObject] {
let recipe = Recipe(dictionary: value)
completion(recipe)
}
}) { (error) in
print(error.localizedDescription)
}

我只需要显示名称中包含“文本”(即“啤酒”或“馅饼”)的数据。

最佳答案

queryOrdered(byChild: text) 中,(byChild' 代表您要搜索的子节点(属性),在本例中为 'title'。然后您要指定您要搜索的内容。您可以使用 queryEqual(toValue: text)

执行此操作

所以 databaseRef.child("Recipes").queryOrdered(byChild: text) 会变成 databaseRef.child("Recipes").queryOrdered(byChild: "title").queryEqual (toValue: 文本)

但是,这在您的情况下不起作用,因为您正在搜索某个子字符串而不是匹配字符串,这与 SQL 中的 LIKE 操作相当。 Firebase 目前不允许这样做。唯一可能的类似事情是搜索以某个子字符串开头的字符串。

如果您尝试过滤特定类别,最好添加“类别”节点并搜索特定值。或者,如果您尝试实现搜索功能,您可能必须使用搜索 API。我听说过很多 Elasticsearch 但从未使用过它,所以你应该做一些研究。

关于ios - 通过数据关键字进行 Firebase 搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42608395/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com